Score : $500$ points
Snuke has two boards, each divided into a grid with $N$ rows and $N$ columns. For both of these boards, the square at the $i$-th row from the top and the $j$-th column from the left is called Square $(i,j)$.
There is a lowercase English letter written in each square on the first board. The letter written in Square $(i,j)$ is $S_{i,j}$. On the second board, nothing is written yet.
Snuke will write letters on the second board, as follows:
After this operation, the second board is called a good board when, for every $i$ and $j$ ( $1 \leq i, j \leq N$ ), the letter in Square $(i,j)$ and the letter in Square $(j,i)$ are equal.
Find the number of the ways to choose integers $A$ and $B$ ( $0 \leq A, B < N$ ) such that the second board is a good board.
Input is given from Standard Input in the following format:
$N$ $S_{1,1}S_{1,2}..S_{1,N}$ $S_{2,1}S_{2,2}..S_{2,N}$ $:$ $S_{N,1}S_{N,2}..S_{N,N}$
Print the number of the ways to choose integers $A$ and $B$ ( $0 \leq A, B < N$ ) such that the second board is a good board.
2 ab ca
2
For each pair of $A$ and $B$, the second board will look as shown below:
The second board is a good board when $(A,B) = (0,1)$ or $(A,B) = (1,0)$, thus the answer is $2$.
4 aaaa aaaa aaaa aaaa
16
Every possible choice of $A$ and $B$ makes the second board good.
5 abcde fghij klmno pqrst uvwxy
0
No possible choice of $A$ and $B$ makes the second board good.