Розміщену вертикально прямокутну паперову стрічку з закріпленим нижнім кінцем складають наступним чином:
На першому кроці її складають навпіл так, що верхня половина лягає на нижню або спереду (P-згин), або позаду (Z-згин).
На наступних n-1 кроках виконують аналогічне складання зі стрічкою, отриманою на попередньому кроці, як з одним цілим.
Після всіх згинів стрічку розгортають у початковий стан. На ній залишаються згини (ребра): одні спрямовані опуклістю до нас (K-ребра), інші — від нас (O-ребра). Ребра нумеруються зверху донизу від до 2^n-1.
Потрібно написати програму, яка за рядком із великих літер "O" та "K", у якому -та позиція визначає тип ребра на розгорнутій стрічці, знаходить послідовність великих літер "P" та "Z", яка задає порядок згинань для отримання такої послідовності ребер. Якщо такої послідовності не існує, виведіть NO.
У першому рядку вхідного файлу записано число — кількість згинань ( не більше ). У другому рядку — рядок із 2^n-1 символів "O" або "K", що задають типи ребер на розгорнутій стрічці.
У єдиний рядок вихідного файлу виведіть рядок із символів "P" та "Z", який задає послідовність згинань. Якщо такої послідовності не існує, виведіть NO.
Приклад 1