code
#include<bits/stdc++.h>
using namespace std;
int n;
char a[2][1005][1005],b[1005][1005];
void f(int x){
if(x == 1){
for(int i = 1;i <= n;i++){
for(int j = 1,k = n;j <= n;j++,k--){
a[2][i][j] = a[1][k][i];
}
}
}else{
for(int i = 1;i <= n;i++){
for(int j = 1,k = n;j <= n;j++,k--){
a[1][i][j] = a[2][k][i];
}
}
}
}
int main(){
cin >> n;
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
cin >> a[1][i][j];
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
cin >> b[i][j];
f(1);
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
if(a[1][i][j] == 'O') cout<<b[i][j];
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
if(a[2][i][j] == 'O') cout<<b[i][j];
f(2);
f(1);
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
if(a[1][i][j] == 'O') cout<<b[i][j];
for(int i = 1;i <= n;i++)
for(int j = 1;j <= n;j++)
if(a[2][i][j] == 'O') cout<<b[i][j];
return 0;
}