Codeforces Round 134 (Div. 1) |
---|
Закончено |
Байтляндский Институт Биологических Исследований (БИБИ) изучает свойства двух видов бактерий, названных 0 и 1. Даже под микроскопом бактерии этих двух видов очень трудно отличить. Вобщем-то, у ученых есть только один способ, который способен различать их — это растение под названием Формуроса.
Если ученые поместят по образцу колоний бактерий на каждом листке Формуросы, активируется сложный процесс питания растения. Во время этого процесса цвет Формуросы изменится, в соответствии с, возможно, очень сложной логической формулой, включающей константы и операторы | (OR), & (AND) и ^ (XOR). Если результат подсчета формулы равен 0, то растение покраснеет, в противном случае посинеет.
Например, если процесс питания Формуросы описывается формулой: (((?^?)|?)&(1^?)), то у Формуросы есть четыре листа (знаки «?» обозначают листья). Если мы положим образцы бактерий 0, 1, 0, 0 на соответствующие листья, результатом питательного процесса будет (((0^1)|0)&(1^0)) = 1, следовательно, растение посинеет.
У ученых есть n колоний бактерий. Они не знают их типы; они знают наверняка только то, что не все колонии одного типа. Ученые хотят попытаться определить виды бактерий, с помощью нескольких экспериментов с Формуросой. Во время каждого эксперимента ученые должны поместить ровно по одному образцу на каждый лист растения. Тем не менее, они могут использовать несколько образцов из одной колонии в течение одного эксперимента; например, можно покрыть все листья растения бактериями из одной колонии!
Смогут ли ученые определить вид каждой колонии, какими бы эти колонии ни были (если предположить, что не все колонии одинаковые)?
В первой строке входного файла содержится единственное целое число n (2 ≤ n ≤ 106) — количество колоний бактерии.
Во второй строке содержится формула, описывающая питательный процесс Формуросы. Эта строка содержит только символы «0», «1», «?», «|», «&», «^», «(», «)» и соответствует следующей грамматике:
Данная формула состоит из не более, чем 106 символов.
Если всегда возможно определить вид каждой колонии, выведите «YES» (без кавычек). В противном случае выведите «NO» (без кавычек).
2
(?^?)
NO
10
?
YES
2
((?^?)&?)
YES
Название |
---|