Стрічка 3#2333

Стрічка 3

1 секунда
64 мегабайти
Складна

Розміщену вертикально прямокутну паперову стрічку з закріпленим нижнім кінцем складають наступним чином:

Після всіх згинів стрічку розгортають у початковий стан. На ній залишаються згини (ребра): одні спрямовані опуклістю до нас (K-ребра), інші — від нас (O-ребра). Ребра нумеруються зверху донизу від до 2^n-1.

Потрібно написати програму, яка за рядком із великих літер "O" та "K", у якому -та позиція визначає тип ребра на розгорнутій стрічці, знаходить послідовність великих літер "P" та "Z", яка задає порядок згинань для отримання такої послідовності ребер. Якщо такої послідовності не існує, виведіть NO.

Вхідні дані

У першому рядку вхідного файлу записано число — кількість згинань ( не більше ). У другому рядку — рядок із 2^n-1 символів "O" або "K", що задають типи ребер на розгорнутій стрічці.

Вихідні дані

У єдиний рядок вихідного файлу виведіть рядок із символів "P" та "Z", який задає послідовність згинань. Якщо такої послідовності не існує, виведіть NO.

Приклади

Приклад 1

Loading
Loading