Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 64 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Когда-то давно Кюри была роботом и работала в Убежище №81. Но, благодаря Выжившему и доктору Амари, теперь она — женщина (пусть и синтетическая) и ей нужно срочно научиться выглядеть и действовать так, чтобы не вызывать подозрений.
Сегодня Кюри учится заплетать косу. Все волосы она разделила на три пряди и ловко переплетает их в поисках наиболее красивого варианта (под переплетением будем понимать обмен положений двух соседних прядей). Вскоре Кюри заметила, что её действия являются практической реализацией известной математической теории кос, записанной ей в память при изготовлении на заводе РобКо Индастриз.
Так, исходное положение трех прядей можно записать в виде строки 123. Каждое переплетение меняет местами в этой строке две соседние цифры. Понятно, что сделав достаточное число переплетений, можно получить любую перестановку исходной строки. Но если нам известно число переплетений и интересующая перестановка, как определить, достижима ли она? Кюри быстро нашла ответ на этот вопрос. Очередь за вами.
Единственная строка входного файла содержит два натуральных числа, записанных через пробел: n — количество переплетений и p — перестановка исходной строки 123.
В единственной строке выведите 'YES' (без кавычек), если ровно за n переплетений из исходной строки 123 можно получить строку p. Выведете 'NO' в противном случае.
1 ≤ n ≤ 1014.
Баллы за каждый тест начисляются независимо.
Решения, верно работающие при 1 ≤ n ≤ 10, получат не менее 40 баллов.
Решения, верно работающие при 1 ≤ n ≤ 1000, получат не менее 80 баллов.
Один из вариантов решения первого примера на рисунке внизу (для удобства коса нарисована горизонтально).
Во втором примере получить перестановку 321 из исходной за одно переплетение невозможно.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|