Ivica 是一名热衷于计算机科学的青年。他最近开始开发他的第一款电脑游戏:一款热门游戏《俄罗斯方块》(Tetris)的克隆版。虽然距离完工还很远,但他的程序已经支持在网格中放置下图中所示的五种不同的俄罗斯方块。在放入网格之前,方块可以任意旋转 90 度的倍数并进行染色。此外,当前版本的游戏不支持将方块放置在超出网格边界或与网格中其他已有方块重叠的位置。
方块 1,方块 2,方块 3,方块 4,方块 5
当 Ivica 在学校上学时,他的妹妹 Marica 开始玩这个游戏,并随机旋转、染色并放置了这些方块,使得相邻的方块颜色不同。如果两个方块共享一条公共边或在顶点处相接触,则称它们是相邻的。
当 Ivica 回到电脑前时,他发现游戏正在运行,屏幕上正是他妹妹放置的方块。他想知道网格中每种方块各有多少个,并请求你帮他解决这个问题,而他自己则忙于改进游戏。
输入格式
输入的第一行包含正整数 $N$ 和 $M$($1 \le N, M \le 10$),表示俄罗斯方块网格的行数和列数。
接下来的 $N$ 行,每行包含 $M$ 个字符,表示网格。每个字符可以是 .(点),表示空白区域,或者是英文字母表中的一个小写字母,表示方块的一部分。不同的字母代表不同的颜色,同一方块的各个部分颜色相同。
输出格式
你必须输出恰好五行。第 $i$ 行必须包含第 $i$ 种方块在游戏网格中出现的次数。
子任务
- 在占总分 20% 的测试数据中,只会检测到第一种方块。
- 在另外占总分 20% 的测试数据中,只会检测到前两种方块。
- 在另外占总分 20% 的测试数据中,只会检测到前三种方块。
- 在另外占总分 20% 的测试数据中,只会检测到前四种方块。
样例
输入 1
4 5 aaaa. .bb.. .bbxx ...xx
输出 1
2 1 0 0 0
输入 2
4 5 .aab. aabb. .cbaa cccaa
输出 2
1 0 1 1 1
输入 3
5 7 .c..... ccdddd. caabbcc aabbacc ...aaa.
输出 3
1 1 2 1 1
说明
样例 3 解释
下图描绘了 Ivica 回到电脑前时俄罗斯方块网格的状态。