5067 - 窗户

通过次数

1

提交次数

49

Time Limit : 1 秒
Memory Limit : 256 MB

现在有一张关于宿舍窗户的照片,请你判断有多少种不同款式的窗户,为了简化问题,作如下定义: 输入图片表示为一个n行m列的字符矩阵窗户形状为一个矩形,输入保证在同一张图片中,所有的窗户有相同的尺寸 输入图片中“#”表示墙壁,“.”和“+”表示窗户的不同花纹输入保证图片的最外层为一层“#”,两个相邻的窗户之间也只有一层“#”,在同一张图片中,每一行窗户数量是一样的,每一列窗户数量也是一样的一个窗户至少包含一个单元格,不同的输入图片,图片本身的尺寸、窗户的尺寸都是任意的 款式一样:代表窗户的字符矩阵完全一致,或者旋转90、180、270度后完全一致,则表示这两个窗户是一样的款式。 请你根据输入图片,判断有多少个不同款式的窗户。

Input

输入第一行包含两个正整数n,m(1≤n,m≤120) 接下来n行,每行m个字符表示输入图片尺寸。

Output

输出一个数字表示答案。

Examples

Input

11 16
################
#....#++++#+...#
#....#++.+#+...#
#....#.++.#++.+#
#....#....#++++#
################
#....#.+..#++++#
#..++#.+..#++.+#
#+...#....#.++.#
#+...#..++#....#
################

Output

4

Input

9 21
#####################
#...+#++++#+...#..+.#
#..+.#.++.#.+..#..+.#
#.+..#....#..+.#..+.#
#####################
#.+..#....#..+.#.+..#
#..+.#.++.#.+..#.+..#
#...+#++++#+...#.+..#
#####################

Output

4