#include <iostream>
using namespace std;
const int N = 10;
int g[N][N], t[N][N], tmp[N][N];
int n;
bool flag = false;
void turn(){
for(int i = 0; i < n; i ++)
for(int j = 0, k = n - 1; j < n; j ++, k --)
tmp[i][j] = g[k][i];
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
g[i][j] = tmp[i][j];
}
bool issame(){
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
if(g[i][j] != t[i][j]) return false;
return true;
}
int main(){
cin>>n;
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
cin>>g[i][j];
for(int i = 0; i < n; i ++)
for(int j = 0; j < n; j ++)
cin>>t[i][j];
for(int i = 0; i < 4; i ++){
if(issame()){
flag = true;
cout<<i * 90<<endl;
break;
}
turn();
}
if(!flag) cout<<-1<<endl;
return 0;
}