Problem8328--二维码

8328: 二维码

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

在日常生活中,我们经常会用到二维码。可以发现,无论以怎么的姿势进行扫码,只要二维码在自己设备的扫码区域内(且自身设备联网),均可以识别二维码。
这是因为二维码内有三个定位点(图中三个被框起来的黑点),根据定位点将整个二维码进行旋转,再识别信息。

上述四种情况最后选择的结果为:

现在,我们使用 $n \times n$ 的二维字符数组模拟二维码,其中 * 表示二维码中的定位点,保证二维码字符数组中只有三个 * 且在矩阵的顶角处。
例如 $3 \times 3$ 的二维码为
*1*
234
*56
你的任务是输出二维码的最终旋转结果,即三个 * 分别在左上、右下、左下。

Input

第一行一个正整数 $n\ (3 \leq n \leq 10^3)$。
接下来 $n$ 行,每行 $n$ 个字符,表示该二维码。第 $i$ 行的第 $j$ 个字符为 a[i][j]。保证字符只有 * 和 0 ~ 9。

Output

输出 $n$ 行,每行 $n$ 个字符,表示旋转正确后的二维码。

Sample 1 Input

3
*1*
234
*56

Sample 1 Output

*1*
234
*56

Sample 2 Input

5
1234*
56789
12345
67890
*012*

Sample 2 Output

*210*
09876
54321
98765
*4321

Sample 3 Input

5
*950*
48492
37381
26270
1516*

Sample 3 Output

*210*
09876
54321
98765
*4321

5
1234*
56789
12345
67890
*012*

*210*
09876
54321
98765
*4321

Sample 4 Input

5
*6151
07262
18373
29484
*059*

Sample 4 Output

*210*
09876
54321
98765
*4321

Source/Category