//team42 (Lukasz Zatorski, Damian Rusak, Krzysztof Piecuch) #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int ll; typedef pair pi; typedef vector vi; typedef vector< vi > vii; #define ft first #define sd second #define mp make_pair #define pb push_back #define REP(i,a,b) for(register int i = a ; i < b; i++) #define DOWN(i,a,b) for(register int i = a; i>=b ; i--) #define WSK(C) typeof((C).begin()) #define FOREACH(wsk, C) for(WSK(C) wsk = (C).begin(); wsk!=(C).end; wsk++) char t[1001][1001]; char s[1001][1001]; int main(){ int n; while(true){ scanf("%d", &n); if(n==0) return 0; REP(i,0,n) scanf("%s", t[i]); REP(i,0,n) scanf("%s", s[i]); REP(x,0,n) REP(y,0,n) if(t[x][y]=='O') printf("%c", s[x][y]); REP(x,0,n) REP(y,0,n) if(t[n-y-1][x]=='O') printf("%c", s[x][y]); REP(x,0,n) REP(y,0,n) if(t[n-x-1][n-y-1]=='O') printf("%c", s[x][y]); REP(x,0,n) REP(y,0,n) if(t[y][n-x-1]=='O') printf("%c", s[x][y]); printf("\n"); } return 0; }