#include<iostream>
#include<vector>
using namespace std;
//book检验,0真1假
int book[8];
int main(){
int n;
cin>>n;
if(n == 1){
char a,b;
cin>>a>>b;
cout<<1;
}else{
vector<vector<char>> a(n+1,vector<char>(n+1));
vector<vector<char>> b(n+1,vector<char>(n+1));
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>b[i][j];
}
}
//book检验,0真1假
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
//1顺时针翻转90
if(b[j][n + 1 - i] != a[i][j]){
book[1] = 1;
}
//2翻转180
if(b[n + 1 - i][n + 1 - j] != a[i][j]){
book[2] = 1;
}
//3转270
if(b[n + 1 - j][i] != a[i][j]){
book[3] = 1;
}
//4水平翻转
if(b[i][n + 1 - j] != a[i][j]){
book[4] = 1;
}
//5组合
if(b[n + 1 - j][n + 1 - i] !=a[i][j] || b[n + 1 - i][j] !=a[i][j] || b[j][i] !=a[i][j]){
book[5] = 1;
}
//6不变
if(b[i][j] != a[i][j]){
book[6] = 1;
}
}
}
//输出答案
for(int i=1;i<=7;i++){
if(!book[i]){cout<<i<<endl;break;}
}
}
return 0;
}
有无大佬看出哪有问题