Пісочний годинник#7319

Пісочний годинник

13 секунд
64 мегабайти
Легка

У цій задачі вам потрібно розв'язати головоломку на плоскій дошці з фішками.

Головоломка "Пісочний годинник" розміру виглядає так. Дошка розташована на площині і складається з (2 \cdot n + 1) рядків. Рядки горизонтальні і розміщені один під одним. Кожен рядок складається з позицій: середній рядок містить одну позицію, а кожен наступний рядок вище і нижче середнього містить на одну позицію більше, ніж сусідній рядок, ближчий до середини. Позиції сусідніх рядків з'єднані так, що кожна позиція в коротшому рядку має точно два сусіди в більшому рядку. Дошка для n = 2 зображена нижче.

На дошці розміщено кілька фішок. Спочатку кожна позиція у верхніх рядках містить червону фішку (пісок), а кожна позиція у нижніх рядках містить синю фішку (повітря). Мета головоломки - поміняти місцями розташування фішок, тобто заповнити верхні рядків повітрям, а нижніх рядків піском. Фішки одного кольору вважаються однаковими. У кожній позиції під час будь-якого переміщення може знаходитися не більше однієї фішки. Початковий і фінальний стан для n = 2 представлено нижче. Червоні фішки позначені "X", а сині "O".

Переміщення фігур відбувається згідно з наступними правилами.

Нижче наведено приклад послідовності ходів для розв'язання головоломки при n = 2.

Послідовність ходів записується наступним чином.

Інтуїтивне позначення нотації полягає в тому, що хвостик літери показує напрямок переміщення або стрибка.

Виявляється, що наведена нотація забезпечує відновлення всіх проміжних станів головоломки.

За розміром головоломки виведіть її розв'язання. Не слід мінімізувати або максимізувати кількість ходів.

Вхідні дані

Розмір головоломки (1 \le n \le 10).

Вихідні дані

В одному рядку вивести розв'язання головоломки заданого розміру. Рядок повинен містити тільки літери «b», «d», «p» і «q» і не містити жодних інших символів, навіть пробілів. Якщо існує декілька розв'язань, виведіть будь-яке.

Приклади

Приклад 1

Loading
Loading