#include <iostream>
using namespace std;
const int N = 10;
int n;
int a[N][N], b[N][N];
bool fn(int x[N][N], int y[N][N]) //写x[n][n], y[n][n]会报错
{
bool sign = true;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
if(x[i][j] != y[i][j])
{
sign = false;
break;
}
if(sign) return true;
return false;
}
void rever(int a[N][N]) // 写a[n][n]会报错
{
int c[N][N];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
c[i][j] = a[i][j];
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
a[i][j] = c[n-1-j][i];
}
}
}
int main() {
while(cin >> n)
{
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
scanf("%d", &a[i][j]);
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
scanf("%d", &b[i][j]);
bool sign = false;
for(int k = 0; k < 4; k++)
{
if(fn(a, b))
{
cout << k * 90 << endl;
sign = true;
break;
}
rever(a);
}
if(!sign) puts("-1");
}
}
// 64 位输出请用 printf("%lld")