#include #include using namespace std; char g[1042][1042], m[1042][1042]; int main() { while (1) { int n; scanf("%d\n", &n); if (!n) break; for (int i = 0; i < n; ++i) { gets(g[i]); } for (int i = 0; i < n; ++i) { gets(m[i]); } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { if (g[i][j] == 'O') { putchar(m[i][j]); } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { int ii = n-j-1; int jj = i; if (g[ii][jj] == 'O') { putchar(m[i][j]); } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { int ii = n-i-1; int jj = n-j-1; if (g[ii][jj] == 'O') { putchar(m[i][j]); } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { int ii = j; int jj = n-i-1; if (g[ii][jj] == 'O') { putchar(m[i][j]); } } } putchar('\n'); } return 0; }