#include<bits/stdc++.h>
using namespace std;
char k[15][15],u[15][15],s[15][15],d[15][15];int n;
void chu(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
k[i][j]=u[i][j];
}
}
}
void _90(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
u[j][n+1-i]=k[i][j];
}
}
chu();
}
void fan(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
u[i][n-j+1]=k[i][j];
}
}
chu();
}
void _180(){
_90();
_90();
}
void _270(){
_180();
_90();
}
bool chaek(){
bool flag=true;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(k[i][j]!=d[i][j])flag=false;
}
}
return flag;
}
void yin(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
s[i][j]=k[i][j];
}
}
}
void hui(){
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
k[i][j]=s[i][j];
}
}
}
void read(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>k[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>d[i][j];
}
}
}
bool yes(int i){
yin();
if(i==1)_90();
if(i==2)_180();
if(i==3)_270();
if(i==4)fan();
if(i==5){
fan();
for(int i=1;i<=3;i++){
if(yes(i)){
cout<<5;break;
}
}
hui();
}
else{
if(chaek())cout<<i;
else hui();
return true;
}
}
void yun(){
read();
bool f=true;
for(int i=1;i<=6;i++){
if(yes(i)){
f=false;break;
}
}
if(f)cout<<7;
}
int main(){
yun();
return 0;
}