#include #include #include #include #include #include #define SIZE(x) ((int) (x).size()) #define REP(i, n) for (int i = 0; i < (int) (n); ++i) using namespace std; #define MAXN 1007 char G[MAXN][MAXN]; char M[MAXN][MAXN]; int main() { int n; while (scanf("%d", &n), n) { REP(i, n) scanf("%s", G[i]); REP(i, n) scanf("%s", M[i]); REP(i, n) REP(j, n) if (G[i][j] == 'O') putchar(M[i][j]); REP(i, n) REP(j, n) if (G[n - j - 1][i] == 'O') putchar(M[i][j]); REP(i, n) REP(j, n) if (G[n - i - 1][n - j - 1] == 'O') putchar(M[i][j]); REP(i, n) REP(j, n) if (G[j][n - i - 1] == 'O') putchar(M[i][j]); putchar('\n'); } }