#求助
#include<stdio.h>
bool ori[11][11],now[11][11];
int n;
bool one();
bool two();
bool three();
int main(){
char m;
bool six=1,four=1;
scanf("%d",&n);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
m=getchar();
while(m=='\n')m=getchar();
if(m=='@')ori[i][j]=1;
else ori[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
m=getchar();
while(m=='\n')m=getchar();
if(m=='@')now[i][j]=1;
else now[i][j]=0;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(ori[i][j]!=now[i][j]){
six=0;
break;
}
}
if(!six)break;
}
if(six){
printf("6");
return 0;
}
if(one()){
printf("1");
return 0;
}
if(two()){
printf("2");
return 0;
}
if(three()){
printf("3");
return 0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(ori[i][j]!=now[i][n-j+1]){
four=0;
break;
}
}
if(!four)break;
}
if(four){
printf("4");
return 0;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n/2;j++){
ori[i][j]=ori[i][n-j+1]^ori[i][j];
ori[i][n-j+1]=ori[i][n-j+1]^ori[i][j];
ori[i][j]=ori[i][n-j+1]^ori[i][j];
}
}
if(one()||two()||three()){
printf("5");
return 0;
}
printf("7");
return 0;
}
bool one(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(ori[i][j]!=now[j][n-i+1]){
return 0;
}
}
}
return 1;
}
bool two(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(ori[i][j]!=now[n-i+1][n-j+1]){
return 0;
}
}
}
return 1;
}
bool three(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(ori[i][j]!=now[n-j+1][i]){
return 0;
}
}
}
return 1;
}
``` ```