#include<bits/stdc++.h>
using namespace std;
int n;
char s1[11][11],s2[11][11],s3[11][11],s4[11][11];
void x90(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s1[n-1-j][i];
}
}
}
void x180(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s1[n-1-i][n-1-j];
}
}
}
void x270(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s1[j][n-1-i];
}
}
}
void fan(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s1[i][n-1-j];
}
}
}
int cm(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(s3[i][j]!=s1[i][j]){
return 0;
}
}
}
return 1;
}
void debug(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s4[i][j]=s3[i][j];
}
}
}
void debug90(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s4[n-1-j][i];
}
}
}
void debug180(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s4[n-1-i][n-1-j];
}
}
}
void debug270(){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
s3[i][j]=s4[j][n-1-i];
}
}
}
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>s1[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>s2[i][j];
}
}
for(int i=1;i<=7;i++){
switch(i){
case 1:
x90();
if(cm()==1){
printf("1");
return 0;
}
case 2:
x180();
if(cm()==1){
printf("2");
return 0;
}
case 3:
x270();
if(cm()==1){
printf("2");
return 0;
}
case 4:
fan();
if(cm()==1){
printf("4");
return 0;
}
case 5:
fan();
debug();
for(int j=1;i<=3;j++){
switch(j){
case 1:
debug90();
break;
case 2:
debug180();
break;
case 3:
debug270();
break;
}
if(cm()==1){
printf("5");
return 0;
}
}
case 6:
if(cm()==1){
printf("6");
return 0;
}
default:
printf("7");
}
}
return 0;
}