AT_agc023_b [AGC023B] Find Symmetries

Description

[problemUrl]: https://atcoder.jp/contests/agc023/tasks/agc023_b すぬけ君は、$ N $ 行 $ N $ 列からなるマス目状に区切られた盤面を $ 2 $ つ持っています。 どちらの盤面についても、上から $ i $ 行目、左から $ j $ 列目のマスをマス $ (i,j) $ と呼ぶことにします。 $ 1 $ つめの盤面には、すべてのマスに $ 1 $ つの英小文字が書かれています。 マス $ (i,j) $ に書かれている文字は $ S_{i,j} $ です。 $ 2 $ つめの盤面には、まだ何も書かれていません。 すぬけ君は、次のような手順で $ 2 $ つめの盤面に文字を書き込みます。 - まず、$ 2 $ つの整数 $ A,\ B $ ( $ 0\ \leq\ A,\ B\ )\ を選ぶ。 $ - すべてのマスに文字を書き込む。 具体的には、$ 2 $ つめの盤面のマス $ (i,j) $ に、$ 1 $ つめの盤面のマス $ (\ i+A,\ j+B\ ) $ の文字を書き込む。 ここで、$ N+k $ 行目と表される行は $ k $ 行目を意味する。 同様に、$ N+k $ 列目と表される列は $ k $ 列目を意味する。 操作後、$ 2 $ つめの盤面がよい盤面であるとは、すべての $ i,\ j $ ( $ 1\ \leq\ i,\ j\ \leq\ N $ ) に対して、 マス $ (i,j) $ とマス $ (j,i) $ にかかれている文字が等しいことを意味します。 $ 2 $ つめの盤面がよい盤面になるような整数 $ A,\ B $ ( $ 0\ \leq\ A,\ B\ )\ の選び方が何通りあるかを求めてください。 $

Input 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} $

Output Format

$ 2 $ つめの盤面がよい盤面になるような整数 $ A,\ B $ ( $ 0\ \leq\ A,\ B\ )\ の選び方が何通りあるかを出力せよ。 $

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 300 $ - $ S_{i,j} $ ( $ 1\ \leq\ i,\ j\ \leq\ N $ ) は英小文字 ### Sample Explanation 1 各 $ A,\ B $ の組に対して、$ 2 $ つめの盤面は図のようになります。 $ 2 $ つめの盤面がよい盤面となっているのは $ (A,B)\ =\ (0,1) $ と $ (A,B)\ =\ (1,0) $ のときです。 よって答えは $ 2 $ です。 !\[\](https://img.atcoder.jp/agc023/2414e26dc3abb6dd7bfa0c800bb4af0c.png) ### Sample Explanation 2 どのように $ A,\ B $ を選んでも、$ 2 $ つめの盤面はよい盤面になります。 ### Sample Explanation 3 どのように $ A,\ B $ を選んでも、$ 2 $ つめの盤面はよい盤面になりません。