import java.util.Scanner;
public class Main {
static Scanner scanner = new Scanner(System.in);
static int n = scanner.nextInt();
static int end = n - 1;
public static void main(String[] args) {
char[][] originalPatter = new char[n][n];
char[][] finalPatter = new char[n][n];
input(originalPatter);
input(finalPatter);
if (equal(originalPatter, finalPatter))
System.out.println(6);
else if (equal(right90(originalPatter), finalPatter))
System.out.println(1);
else if (equal(right180(originalPatter), finalPatter))
System.out.println(2);
else if (equal(right270(originalPatter), finalPatter))
System.out.println(3);
else if (equal(reflection(originalPatter), finalPatter))
System.out.println(4);
else {
char[][] newPatter = reflection(originalPatter);
for (int count = 0; count < 3; count++) {
newPatter = right90(newPatter);
if (equal(newPatter, finalPatter)) {
System.out.println(5);
return;
}
}
System.out.println(7);
}
}
static boolean equal(char[][] patter1, char[][] patter2) {
for (int y = 0, y2 = 0; y < n; y++, y2++) {
for (int x = 0, x2 = 0; x < n; x++, x2++) {
if (patter1[x2][y2] != patter2[x][y]) return false;
}
}
return true;
}
static char[][] reflection(char[][] originalPatter) {
char[][] newPatter = new char[n][n];
for (int y = 0, y2 = 0; y < n; y++, y2++) {
for (int x = 0, x2 = end; x < n; x++, x2--) {
newPatter[x2][y2] = originalPatter[x][y];
}
}
return newPatter;
}
static char[][] right270(char[][] originalPatter) {
return right180(right90(originalPatter));
}
static char[][] right180(char[][] originalPatter) {
return right90(right90(originalPatter));
}
static char[][] right90(char[][] originalPatter) {
char[][] newPatter = new char[n][n];
for (int y = 0, x2 = end; y < n; y++, x2--) {
for (int x = 0, y2 = 0; x < n; x++, y2++) {
newPatter[x2][y2] = originalPatter[x][y];
}
}
return newPatter;
}
static void show(char[][] data) {
System.out.println("\n------");
for (int y = 0; y < n; y++) {
for (int x = 0; x < n; x++) {
System.out.print(data[x][y]);
}
System.out.println();
}
System.out.println("------");
}
static void input(char[][] to) {
for (int row = 0; row < n; row++) {
String line = scanner.nextLine();
if (line.isEmpty()) {
row--;
continue;
}
char[] rowChars = line.toCharArray();
int x = 0;
for (char rowChar : rowChars) {
to[x++][row] = rowChar;
}
}
}
}