Олимпиадный тренинг

Задача . C. Плохая последовательность


На этот раз Пете на день рождения подарили скобочную последовательность. Петя оказался немного разочарован подарком, ведь он мечтал получить правильную скобочной последовательность, но ничего не сказал друзьям и решил сам немного доработать подарок.

Чтобы исправить последовательность Петя собирается не более одного раза взять произвольную скобку и вынуть её из последовательности (при этом оставшиеся скобки сдвигаются), после чего вставить её обратно в произвольное место в последовательности. Разворачивать скобку при этом не разрешается.

Напомним, что последовательность \(s\) из круглых скобок называется правильной, если:

  • \(s\) является пустой;
  • \(s\) равна «(\(t\))», где \(t\) — правильная скобочная последовательность;
  • \(s\) равна \(t_1 t_2\), то есть конкатенации \(t_1\) и \(t_2\), где \(t_1\) и \(t_2\) являются правильными скобочными последовательностями.

Например, последовательности «(()())», «()» являются правильными, а «)(» и «())» нет. Помогите Пете понять, сможет ли он переставить скобку так, чтобы скобочная последовательность стала правильной.

Входные данные

В первой строке входных данных записано единственное число \(n\) (\(1 \leq n \leq 200\,000\)) — длина последовательности, которую друзья подарили Пете.

Во второй строке входных данных записана строка длины \(n\), состоящая из символов «()» и «)».

Выходные данные

Выведите «Yes», если Петя сможет получить правильную скобочную последовательность сделав не более одной перестановки скобки. В противном случае выведите «No».

Примечание

В первом примере Петя может переставить первую скобку в конец, тогда получится строка «()», которая является правильной скобочной последовательностью.

Во втором примере не существует способа переставить одну скобку так, чтобы строка стала правильной скобочной последовательностью.

В третьем примере строка уже является правильной скобочной последовательностью, то есть ничего переставлять не надо.


Примеры
Входные данныеВыходные данные
1 2
)(
Yes
2 3
(()
No
3 2
()
Yes
4 10
)))))(((((
No

time 1000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя