D. 方块游戏
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

xhy 正在玩一款新版方块游戏,游戏的界面是一幅 $$$n \times m$$$ 的画布,画布中共有以下三种彩色方块(左边为 $$$1$$$ 号,中间为 $$$2$$$ 号,右边为 $$$3$$$ 号方块。

画布中由若干个方块和空白组成,每个方块之间不会重合(每个有颜色的格子只属于一个方块),但是方块可以旋转或者镜像。例如对于一号方块,一共有如下几种在画布中出现的形式。

现在给定你当前画布中每个格子的颜色,请告诉 xhy 每个方块各出现了几次?

Input

输入第 $$$1$$$ 行包含 $$$2$$$ 个正整数 $$$n, m$$$ ,代表画布的大小。$$$(3 \leq n,m \leq 500 $$$)

接下来 $$$n$$$ 行每行有 $$$m$$$ 个字符,'0' 表示空白格子,'1' 表示红色格子,'2' 表示蓝色格子,'3' 表示黄色格子。

数据保证画布是由三种方块不重合地放置所形成的。

Output

输出一行,包含 $$$3$$$ 个整数,由空格隔开,分别代表第一个,第二个,第三个方块的数量。

Examples
Input
4 13
0000000000000
0130001003320
0021032300210
0000000000000
Output
1 1 1
Input
5 6
313323
212113
333212
122113
031323
Output
2 4 1
Note

样例 $$$2$$$ 解释:

图中相同编号的格子为一个方块,若绿色区域被认为是 $$$3$$$ 号方块,那么剩下区域就无法由 $$$1, 2, 3$$$ 号方块组成。