#include int main() { while (1) { int n, i, j; scanf("%d", &n); if (n == 0) break; getchar(); char grid[n][n]; for (i = 0; i < n; ++i) { for (j = 0; j < n; ++j) { grid[j][i] = getchar(); } getchar(); } char text[n][n]; for (i = 0; i < n; ++i) { for (j = 0; j < n; ++j) { text[j][i] = getchar(); } getchar(); } for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) if (grid[j][i] == 'O') putchar(text[j][i]); for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) if (grid[i][n - j - 1] == 'O') putchar(text[j][i]); for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) if (grid[n - j - 1][n - i - 1] == 'O') putchar(text[j][i]); for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) if (grid[n - i - 1][j] == 'O') putchar(text[j][i]); putchar('\n'); } return 0; }