1443 {
1444 int matrix[3][2][2] = {
1445 {
1446 {0, 1},
1447 {-1, 0},
1448 },
1449 {{-1, 0},
1450 {0, -1}},
1451 {{0, -1},
1452 {1, 0}},
1453 };
1454 int n;
1455 cin >> n;
1456 vector<vector<int>>
vec[5] = {vector(n, vector<int>(n, 0)), vector(n, vector<int>(n, 0)), vector(n, vector<int>(n, 0)), vector(n, vector<int>(n, 0)), vector(n, vector<int>(n, 0))};
1457 for(int i = 0; i < n; i++) {
1458 for(int j = 0; j < n; j++) {
1459 cin >>
vec[0][i][j];
1460
1461 int i2 = matrix[0][0][0] * i + matrix[0][0][1] * j;
1462 int j2 = matrix[0][1][0] * i + matrix[0][1][1] * j + n - 1;
1463 vec[1][i2][j2] =
vec[0][i][j];
1464
1465 int i3 = matrix[1][0][0] * i + matrix[1][0][1] * j + n - 1;
1466 int j3 = matrix[1][1][0] * i + matrix[1][1][1] * j + n - 1;
1467 vec[2][i3][j3] =
vec[0][i][j];
1468
1469 int i4 = matrix[2][0][0] * i + matrix[2][0][1] * j + n - 1;
1470 int j4 = matrix[2][1][0] * i + matrix[2][1][1] * j;
1471 vec[3][i4][j4] =
vec[0][i][j];
1472 }
1473 }
1474 for(int i = 0; i < n; i++) {
1475 for(int j = 0; j < n; j++) {
1476 cin >>
vec[4][i][j];
1477 }
1478 }
1479 bool flag = true;
1480 for(int k = 0; k < 4; k++) {
1481 flag = true;
1482 for(int i = 1; i < n; i++) {
1483 for(int j = 0; j < n; j++) {
1484 if(vec[k][i][j] != vec[4][i][j]) {
1485 flag = false;
1486 break;
1487 }
1488 }
1489 if(!flag) {
1490 break;
1491 }
1492 }
1493 if(flag) {
1494 cout << k * 90;
1495 break;
1496 }
1497 }
1498 if(!flag) {
1499 cout << -1;
1500 }
1501 return 0;
1502 }