#pragma warning(disable:4996)
#include<bits/stdc++.h>
int n = 0;
void duicheng(int** arr, int** brr)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n/2; j++)
{
arr[i][j] = brr[i][n-1-j];
}
}
}
void copy(int**arr,int**brr)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[i][j]=brr[i][j];
}
}
}
void hanshu(int**arr)
{
char c = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
scanf("%c", &c);
if (c == '\n')
{
scanf("%c", &c);
}
if (c == '@')
{
arr[i][j] = 1;
}
}
}
}
int check(int** arr, int** brr)
{
int book = 1;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (arr[i][j]!= brr[i][j])
{
book = 0;
}
}
}
return book;
}
int fang90(int**arr, int**brr)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[j][n-1-i] = brr[i][j];
}
}
return 0;
}
int fang180(int** arr, int** brr)
{
fang90(arr, brr);
copy(brr, arr);
fang90(arr, brr);
return 0;
}
int fang270(int** arr, int** brr)
{
fang90(arr, brr);
copy(brr, arr);
fang180(arr, brr);
return 0;
}
int main()
{
scanf("%d", &n);
int** arr = (int**)calloc(n ,sizeof(int*));
for (int i = 0; i < n; i++)
{
arr[i] = (int*)calloc(n, sizeof(int));
}
int** brr = (int**)calloc(n, sizeof(int*));
for (int i = 0; i < n; i++)
{
brr[i] = (int*)calloc(n, sizeof(int));
}
int** xrr = (int**)calloc(n, sizeof(int*));
for (int i = 0; i < n; i++)
{
xrr[i] = (int*)calloc(n, sizeof(int));
}
int**mrr = (int**)calloc(n, sizeof(int*));
for (int i = 0; i < n; i++)
{
mrr[i] = (int*)calloc(n, sizeof(int));
}
copy(mrr, arr);
hanshu(arr);
hanshu(brr);
if (check(arr, brr))
{
printf("6");
return 0;
}
fang90(xrr, arr);
if (check(xrr, brr))
{
printf("1");
return 0;
}
copy(arr, mrr);
fang180(xrr, arr);
if (check(xrr, brr))
{
printf("2");
return 0;
}
copy(arr, mrr);
fang270(xrr, arr);
if (check(xrr, brr))
{
printf("3");
return 0;
}
copy(arr, mrr);
duicheng(xrr, arr);
if (check(xrr, brr))
{
printf("4");
return 0;
}
if (1)
{
duicheng(xrr, arr);
copy(arr, xrr);
fang90(xrr, arr);
if (check(xrr, brr))
{
printf("5");
return 0;
}
copy(arr, mrr);
fang180(xrr, arr);
if (check(xrr, brr))
{
printf("5");
return 0;
}
copy(arr, mrr);
fang270(xrr, arr);
if (check(xrr, brr))
{
printf("5");
return 0;
}
}
printf("7");
return 0;
}
```c