Codeforces Round 173 (Div. 2) |
---|
Закончено |
Необъяснимый народ эти битландцы. Все-то они делают по-своему. У них свой алфавит и свое определение строки.
Битландская строка — это строка, которая состоит только из символов «0» и «1».
BitHaval (мэр Битландии) любит поиграть с битландскими строками. Он берет некоторую битландскую строку a и затем применяет к ней несколько (возможно, ноль) операций. За одну операцию мэр может выбрать любые два соседних символа строки, обозначим один из них через x, второй — через y. После чего он считает две величины p и q: p = x xor y, q = x or y. Далее, один из двух выбранных символов мэр заменяет на p, второй — на q.
Операция xor обозначает операцию битового исключающего ИЛИ. Операция or обозначает операцию битового ИЛИ.
Например, строка 11 может быть за одну операцию преобразована в строку 10 или в строку 01. Строка 1 не может быть преобразована ни в какую другую строку.
Вам заданы две битландские строки a и b. Ваша задача — определить, сможет ли мер за несколько (возможно, ноль) описанных операций получить из строки a строку b.
В первой строке записана битландская строка a, во второй строке записана битландская строка b. Строки могут иметь разную длину.
Гарантируется, что заданные строки состоят только из символов «0» и «1». Строки не пустые, их длина не превышает 106.
Выведите «YES» — если преобразовать a в b можно, иначе выведите «NO». Кавычки выводить не нужно.
11
10
YES
1
01
NO
000
101
NO
Название |
---|