#include<stdio.h>
int main(){
int c,n,i,x,y;
int r[8];
r[0]=0;
r[7]=7;
char raw[11][11];
char goal[11][11];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s",raw[i]);
}
i=0;
for(i=0;i<n;i++){
scanf("%s",goal[i]);
}
i=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[n-1-y][x]){
r[1]= 1;
}else{
r[1]= 0;
break;
}
}
}
x=0;y=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[n-1-y][n-1-x]){
r[2]= 2;
}else{
r[2]= 0;
break;
}
}
}
x=0;y=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[y][n-1-x]){
r[3]= 3;
}else{
r[3]= 0;
break;
}
}
}
x=0;y=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[n-1-x][n-1-y]){
r[4]= 4;
}else{
r[4]= 0;
break;
}
}
}
x=0;y=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[y][n-1-x] || raw[x][y]==goal[y][x] || raw[x][y]==goal[n-1-y][x]){
r[5]= 5;
}else{
r[5]= 0;
break;
}
}
}
x=0;y=0;
for(x=0;x<n;x++){
for(y=0;y<n;y++){
if(raw[x][y]==goal[x][y]){
r[6]= 6;
}else{
r[6]= 0;
break;
}
}
}
x=0;y=0;
i=1;
for(i=1;i<=n;i++){
while(r[i] != 0){
c=i;
i=n;
break;
}
}
printf("%d",r[c]);
}