#include<bits/stdc++.h>
#include "cstdio"
using namespace std;
int main()
{
int n;
cin>>n;
char a[n][n];
char b[n][n];
char ch;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>ch;
if(ch!='\n')
{
a[i][j]=ch;
}
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>ch;
if(ch!='\n')
{
b[i][j]=ch;
}
}
}
bool is[7];
memset(is, true,sizeof is);
//work1
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[j][n-i])
{
is[0]= false;
}
}
}
//work2
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[n-i][n-j])
{
is[1]= false;
}
}
}
//work3
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[n-j][i])
{
is[2]= false;
}
}
}
//work4
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[i][n-j])
{
is[3]= false;
}
}
}
//work5
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[n-j][n-i] && a[i][j]!=b[n-i][j] && a[i][j]!=b[j][i])
{
is[4]= false;
}
}
}
//work6
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]!=b[i][j])
{
is[5]= false;
}
}
}
for(int i=0;i<7;i++)
{
if(is[i]== true)
{
cout<<i+1;
}
}
return 0;
}
米娜桑阿里嘎多QAQ