Задачі
Стрічка 3
Стрічка 3
Розміщену вертикально прямокутну паперову стрічку з закріпленим нижнім кінцем стали складати наступним чином:
\begin{itemize}
\item на першому кроці її зігнули пополам так, що верхня половина лягла на нижню або попереду (\textbf{P}-згиб) або позаду (\textbf{Z}-згиб);
\item на натупних \textbf{n-1} кроках виконали аналогічні дії з отриманою на попередньому кроці зігнутою стрічкою, як з єдиним цілим.
\end{itemize}
Потім стрічку розгорнули, привівши її до початкового стану. На ній залишились згиби - ребра від перегинань, причому деякі з ребер виявились направленими опуклістю до нас (\textbf{K}-ребра), а деякі - від нас (\textbf{O}-ребра). Ребра пронумерували зверху донизу числами від \textbf{1} до \textbf{2^n-1}.
\textbf{Потрібно} написати програму, яка за заданими рядком символів з прописних літер "\textbf{O}" та "\textbf{K}", де положенння на \textbf{i}-ому місці символа "\textbf{O}" або "\textbf{K}" визначає тип ребра на розправленій стрічці, знаходить підрядок з прописних "\textbf{P}" та "\textbf{Z}", які визначають послідовність типів згибань, при допомозі яких отримано стрічку з цією послідовністю ребер.
\InputFile
У першому рядку вхідного файлу записано число \textbf{n} - кількість згибань (\textbf{n} не більше \textbf{20}), у другому рядку - рядок з \textbf{2^n-1} символів "\textbf{O}" або "\textbf{K}", які визначають типи ребер на росправленій стрічці.
\OutputFile
У єдиний рядок вихідного файлу потрібно вивести рядок з \textbf{n} символів "\textbf{P}" та "\textbf{Z}", які задають послідовність згибань. Якщо такої послідовності згибань не існує, то вивести у файл \textbf{NO}.
Вхідні дані #1
2 OOK
Вихідні дані #1
PZ