#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;
}