来源 : 中山纪念中学宋新波
描述

Lvica是一位充满激情的计算机科学家。 他最近开始研究他的第一个电脑游戏:一个流行的俄罗斯方块的复制品。 尽管他还远未完成,但他关于游戏的设计支持将下图中显示的五种不同的俄罗斯方块图形放在一个矩阵中。 在将它放入俄罗斯方块的矩阵之前,图形可以旋转90度任意次数并着色。 此外,当前的游戏不支持将图形放置超出矩阵边界以外或与矩阵中的另一个现有图形重叠。

当Lvica在学校时,他的妹妹Marica开始玩这个游戏,她随机旋转,着色并放置图形,使相邻的图形颜色不同。如果两个图形拥有一个公共的边或者尖端的位置相触碰,则两个图形相邻。

当Lvica回来,他发现他的妹妹在游戏中放置的图形。他想知道俄罗斯方块矩阵中有多少种图形,他因为忙于改进游戏所以请你来帮助他解决这个问题。

输入

输入的第一行包含正整数N和M,代表俄罗斯方块矩阵的行和列的数量。

下面的N行包含代表矩阵的M个字符。每个字符都可以是“.”,表示空白,也可以是英文小写字母表示图形一部分。不同的字母代表不同的颜色,同一图形每部分颜色相同。

输出

输出5行。第i行必须包含上述游戏中给出的第i个图形的出现次数。

样例输入 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
提示

【样例解释】

第三个测试样例如下图所示

【数据范围】

对于20%的数据:只有第一个图形会出现。

对于另外的20%的数据:只有第二个图形会出现。

对于另外的20%的数据:只有第三个图形会出现。

对于另外的20%的数据:只有第四个图形会出现。

对于100%的数据:1≤N,M≤10。