Wendy 正在实验室完成她的暑期工作,测试一台正在学习操纵小型物体的新型 3D 打印机器人。
为了测试机器人的能力,实验室使用了一种称为“显示器”的简单设备。它是一个 $N \times N$ 的透明方形槽阵列。每个槽中都包含一个 ASCII 字符形状的标记(为了便于识别),并通过小磁铁固定在槽中。显示器可以绕垂直于其表面的轴旋转 $90^\circ$,或者绕其四个平行于显示器表面的轴之一翻转 $180^\circ$。
机器人通过以下过程模拟显示器的旋转和翻转:它将标记从槽中取出,并放回不同的槽中,使得显示器的内容看起来就像整个显示器被旋转或翻转了一样。如果为了达到预期的效果,需要旋转或翻转新位置上的特定标记,机器人也会一并完成。在整个过程中,显示器本身保持静止。
例如,如果显示器的左上角包含一个看起来像符号 “<”(小于号)的标记,那么在绕垂直轴翻转显示器后,该标记被移动到右上角,看起来像符号 “>”(大于号)。然后,经过向左旋转,同一个标记被移回左上角,看起来像符号 “^”(脱字符)。
Wendy 已经编写了程序,让机器人执行一长串连续的翻转和旋转操作。为了检查机器人算法的正确性,她需要提前知道机器人完成工作后显示器应该是什么样子。
输入格式
我们假设显示器上的标记可以是以下所谓的对称字符之一:“<”、“>”、“^”、“v”、“o”、“x”、“|”、“-”、“/”、“\”。当一个对称字符被旋转或翻转时,它要么保持不变,要么变成另一个形状与旋转/翻转后的形状最相似的对称字符。
输入包含多组测试数据。每组数据以一行包含一个整数 $N$ ($1 \le N \le 100$) 开始。接下来有 $N$ 行,表示显示器的初始状态。每行包含一个由恰好 $N$ 个对称字符组成的字符串。每个字符代表显示器上的一个槽,输入中符号的顺序对应于显示器上标记的顺序。显示器上没有空槽。在 $N$ 行之后,有一行包含一个命令字符串,指定必须执行的翻转和旋转操作。命令字符串由命令字符组成,每个命令字符指定一次旋转或翻转,具体如下:“<”(向左旋转)、“>”(向右旋转)、“-”(绕水平轴翻转)、“|”(绕垂直轴翻转)、“\”(绕主对角线翻转)、“/”(绕副对角线翻转)。两个连续的命令字符之间用单个空格分隔。机器人必须遵守命令字符串中命令的顺序。命令的数量总是正数,且最多为 $10^6$。
本题相关字符的十进制 ASCII 码为:45 (“-”), 47 (“/”), 60 (“<”), 62 (“>”), 92 (“\”), 94 (“^”), 111 (“o”), 118 (“v”), 120 (“x”), 124 (“|”)。
输出格式
对于每组测试数据,打印 $N$ 行,指定标记在显示器上的最终位置和方向。显示器表示的输出格式与输入格式相同,但不需要打印显示器的大小 $N$。
样例
样例输入 1
3 o^- /v| vx^ < | 5 x>-o\ voooo |ooo/ ooo/v \o/vv | \ |
样例输出 1
>-| x<> </o <</o\ </ooo /ooo| oooo^ \o-<x