Партія у шахи#3440

Партія у шахи

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

Шахи — настільна логічна гра, що поєднує в собі елементи мистецтва, науки та спорту. Вважається однією з найдавніших ігор на Землі (джерело: Вікіпедія, вільна енциклопедія).

Гра відбувається на дошці, поділеній на рівні квадратні клітинки (розмір дошки 8 \times 8 клітинок). Традиційно клітинки нумеруються по горизонталі латинськими літерами від до , по вертикалі — цифрами від до (кожна клітинка має відповідне позначення, наприклад, ). Клітинки розфарбовано у чорний та білий колір так, що сусідні по вертикалі та горизонталі клітинки розфарбовано у різні кольори, а клітинка — біла.

Грають два гравці. Кожен має набір фігур, до якого входять: один король, один ферзь, два слони, два коні, дві тури, вісім пішаків.

Один гравець грає білими фігурами, інший — чорними. На початку гри фігури розміщуються на фіксованих позиціях, займаючи рівно два ряди: та — білі, та — чорні. Порядок початкового розміщення фігур на рядках та (від до ): тура, кінь, слон, ферзь, король, слон, кінь, тура. Ряди та займають пішаки.

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

Зазвичай партію, коли вона відбувається, доцільно записувати (наприклад, щоб мати змогу її відновити пізніше). Для цього розроблено спеціальну нотацію. Ваше завдання — відновити розташування фігур у кінці партії, якщо відомий запис усіх її ходів.

У цій задачі вам зовсім не обов'язково знати, як ходить та чи інша фігура. Однак слід звернути увагу на дві особливі ситуації.

Перша ситуація, яка потребує спеціального розгляду у цій задачі, називається рокіровкою. Рокіровка — це одночасне переміщення короля та однієї з тур того ж кольору по крайній горизонталі (вважається одним ходом короля) і відбувається наступним чином: король переміщується з початкового поля на два поля у напрямку до тури, а потім тура переставляється через короля на поле, яке король щойно перетнув. Існує два види рокіровки: довга та коротка.

На наступному малюнку показано вигляд поля з початковою розстановкою (ліворуч), а також два види рокіровок (праворуч).

Друга ситуація виникає тоді, коли пішак, пройшовши поле, досягає крайньої горизонталі. Для білого пішака це восьма горизонталь, а для чорного — перша. Наприкінці такого ходу пішак може перетворитися на довільну фігуру того ж кольору, але не на пішака і не на короля.

Вхідні дані

У першому рядку вхідного файлу записано натуральне число (n \geq 1) — кількість ходів у запису партії. Наступні рядків мають формат Fx_1y_1-x_2y_2.

У цьому рядку символ F позначає фігуру, яка робить хід (K — король, Q — ферзь, R — тура, B — слон, N — кінь, P — пішак). При цьому білі фігури позначаються великими літерами, а чорні — маленькими. Наприклад, K — це білий король, а r — чорна тура. Пари символів x_1y_1 та x_2y_2 — це координати фігури до та після ходу відповідно. У цьому записі x_1 та x_2 — символи стовпців, а y_1 та y_2 — номери рядів.

Коротка рокіровка позначається 0-0, довга — 0-0-0, де 0 — нуль; при цьому чорна та біла рокіровки не відрізняються за записом. Якщо під час ходу пішак дістався до протилежної крайньої горизонталі, то до запису ходу додається символ F' у кінець. F' — це символ фігури, у яку перетворюється пішак (відповідно до описаної вище специфікації).

Деякі приклади: запис Pe2-e4 означає, що білий пішак зробив хід з e2 на e4; запис pe2-e1q означає, що чорний пішак зробив хід з e2 на e1 і перетворився на ферзя.

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

Вихідні дані

У вихідний файл виведіть вісім рядків по вісім символів у кожному. Рядки описують горизонталі шахового поля у порядку з восьмої по першу. Стовпці описують вертикалі шахового поля від до . Символи відповідають фігурам, що знаходяться у відповідних позиціях, і їх потрібно виводити у тому ж форматі, який використовується у вхідному файлі. Для порожніх клітинок поля необхідно виводити символ "." (крапка).

Приклади

Приклад 1

Loading
Loading