#include using namespace std; static char g[1024][1024]; static char s[1024][1024]; int main() { int e1x[] = {1, 0, -1, 0}; int e1y[] = {0, -1, 0, 1}; int e2x[] = {0, 1, 0, -1}; int e2y[] = {1, 0, -1, 0}; int vx[] = {0, 0, 1, 1}; int vy[] = {0, 1, 1, 0}; int N; while (scanf("%d\n", &N), N != 0) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) g[i][j] = getchar(); getchar(); } for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) s[i][j] = getchar(); getchar(); } for (int k = 0; k < 4; k++) { for (int i = 0; i < N; ++i) { for (int j = 0; j < N; ++j) { int x = e1x[k] * j + e2x[k] * i + (N-1)*vx[k]; int y = e1y[k] * j + e2y[k] * i + (N-1)*vy[k]; if (g[y][x] == 'O') putchar(s[i][j]); } } } putchar('\n'); } return 0; }