問題文
H 行 W 列のマス目が与えられます。
マス目の状態は H 個の長さ W の文字列 S1,S2,...,SH で表されます。
Si,j= "#" ならば i 行目 j 列目のマスが黒く塗られていて、
Si,j= "." ならば i 行目 j 列目のマスが白く塗られていることを指します。
ここで、以下の条件を満たす盤面 S を K 次市松模様と定義します。
- 0≤x,y≤1010 について、⌊Kx⌋+⌊Ky⌋
が奇数ならば Tx,y は黒く塗られていて、偶数ならば Tx,y は白く塗られているとする
- 1≤i≤H, 1≤j≤W を満たす任意の (i,j) について、Si,j = Ti+p,j+q
となる (p,q) の組み合わせ (1≤p,q≤K) が存在する
S が K 次市松模様であるとしたとき、条件を満たす最小の正整数 K を出力してください。
条件を満たす K が存在しないときは −1 を出力してください。
制約
- 1≤H,W≤1000
入力
入力は以下の形式で与えられます。
出力
計算結果を一行に出力せよ。
サンプル
与えられたマス目は 1 次市松模様です。
入力2
4 5
#..##
.##..
.##..
#..##
与えられたマス目は 2 次市松模様です。
入力3
4 5
#....
.####
.####
.####
考えられる市松模様のうち、最も K が小さいものは 4 次市松模様です。
与えられたマス目は市松模様ではありません。