問題文
PCK君は、写真を回転して加工するアプリケーションを開発しています。
このアプリケーションでは、正方形の写真を1つ入力した後、複数の回転命令によって写真を回転させます。
1つの回転命令で、写真の真ん中の点(正方形の対角線の交点)を軸として時計回りまたは反時計回りに90∘回転させます。
課題
写真と回転命令が与えられたとき、すべての命令を処理した後の写真を描画するプログラムを作成せよ。
ただし、写真は N×N 個のピクセルで構成され、1つのピクセルの情報は英文字1つで表すものとする。
入力
入力は以下の形式で与えられる。
N roe1 roe2 ⋮ roeN Q r1 r2 ⋮ rQ
1行目に写真の縦と横のピクセルの数N (1≤N≤1000)が与えられる。続くN行に上からi番目にある行のピクセル情報rowiが与えられる。
rowi は英文字からなる長さNの文字列である。続く1行に回転命令の数Q (1≤Q≤200,000)が与えられる。
続くQ行に、回転の方向を表す整数ri (−1 または 1)が与えられる。riが1のとき時計回りに、−1のとき反時計回りに90∘回転することを意味する。
出力
すべての回転命令を処理した後の写真のピクセル情報をN行に出力する。
上からi番目にある行のピクセル情報をi行目に出力する。
入出力例
入力例1
2 AI ZU 2 1 1
出力例1
UZ IA
入力例2
3 xOO OOy OOO 1 -1
出力例2
OyO OOO xOO