Напомним, что импликация — это функция от двух логических аргументов, значение которой ложно тогда и только тогда, когда значение первого аргумента истинно, а второго аргумента ложно.
Для записи импликации используется символ '
', а аргументы и результат импликации обозначаются '0' (ложное значение, false) и '1' (истинное значение, true). По определению импликации:


Когда логическое выражение содержит несколько импликаций, то при отсутствии скобок оно будет вычисляться слева направо. Например,
.
При наличии скобок сперва вычисляется выражение в скобках. Например,
.
Для заданного логического выражения
определите, можно ли расставить в нем скобки так, чтобы значение логического выражения было ложно. Если это возможно, требуется найти такую расстановку скобок.
Выходные данные
Выведите "NO" (без кавычек), если расставить в выражении скобки так, чтобы его значение равнялось 0, невозможно.
Иначе выведите "YES" в первой строке и логическое выражение с нужной расстановкой скобок во второй строке.
Выражение должно содержать только символы '0', '1', '-' (символ с ASCII кодом 45), '>' (символ с ASCII кодом 62), '(' и ')'. Символы '-' и '>' могут встречаться в выражении только в паре ("->") и обозначают импликацию. Суммарное количество логических аргументов (т. е. цифр '0' и '1') в выражении должно равняться n. Порядок следования цифр в выражении слева направо должен совпадать с a1, a2, ..., an.
Выражение должно быть правильным. Более формально, правильное выражение определяется следующим образом:
- Выражения "0", "1" (без кавычек) — правильные.
- Если v1, v2 — правильные выражения, то v1->v2 — правильное выражение.
- Если v — правильное выражение, то (v) — правильное выражение.
Общее количество символов в полученном выражении не должно превысить 106.
Если возможных ответов несколько, разрешается вывести любой.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 0 1 1 0
|
YES
(((0)->1)->(1->0))
|
|
2
|
2 1 1
|
NO
|
|
3
|
1 0
|
YES
0
|