#include<bits/stdc++.h>
using namespace std;
int n;
char a[15][15],b[15][15],c[15][15];
bool pd(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(b[i][j]!=c[i][j])return 0;
}
}
return 1;
}
bool c1(char a[][15]){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
b[j][n-i+1]=a[i][j];
}
}
return pd();
}
bool c2(char a[15][15]){
c1(a);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
a[i][j]=b[i][j];
}
}
c1(a);
return pd();
}
bool c3(char a[15][15]){
c1(a);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
a[i][j]=b[i][j];
}
}
c2(a);
return pd();
}
bool c4(char a[][15]){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
b[i][n-j+1]=a[i][j];
}
}
return pd();
}
bool c5(char a[][15]){
c4(a);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
a[i][j]=b[i][j];
}
}
c1(a);
return pd;
c1(a);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
a[i][j]=b[i][j];
}
}
return pd;
c1(a);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
a[i][j]=b[i][j];
}
}
return pd;
}
bool c6(char a[15][15]){
return pd;
}
int main()
{
cin>>n;
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>>c[i][j];
}
}
if(c1(a))cout<<1;
else if(c2(a))cout<<2;
else if(c3(a))cout<<3;
else if(c4(a))cout<<4;
else if(c5(a))cout<<5;
else if(c6(a))cout<<6;
else cout<<7;
return 0;
}