小 Lev 正在学习如何绘制字母 Q 和 F。最初,他有一个 $n \times m$ 的白色网格。然后,他将绘制若干个以下两种形状之一的字母:
Lev 不会旋转或镜像这两个形状。每次绘制新字母时,他都会在网格内为该字母选择一个位置,并将该形状的所有单元格涂成黑色。Lev 绘制字母的方式保证了在绘制之前,该字母所覆盖的所有单元格均为白色——也就是说,他永远不会重复涂抹同一个单元格。
给定网格的最终着色状态,请计算 Lev 绘制的字母 Q 和字母 F 的数量。
输入格式
第一行包含两个整数 $n$ 和 $m$ —— 网格的高度和宽度 ($5 \le n \le 300$; $3 \le m \le 300$)。
接下来的 $n$ 行,每行包含 $m$ 个字符,表示网格的最终状态。白色单元格用 ‘.’ 表示,黑色单元格用 ‘#’ 表示。
保证给出的网格是 Lev 绘制过程的有效结果。
输出格式
输出两个整数,分别表示 Lev 绘制的字母 Q 的数量和字母 F 的数量。
样例
样例输入 1
5 3 ### #.# ### ..# ..#
样例输出 1
1 0
样例输入 2
5 3 ### #.. ##. #.. #..
样例输出 2
0 1
样例输入 3
5 8 ###..### #.#..#.. ###..##. ..#..#.. ..#..#..
样例输出 3
1 1
样例输入 4
8 8 .....### ###..#.# #.###### ###.#### #.###.## #.#.###. ..#...#. ......#.
样例输出 4
2 2
说明
第四个样例测试的示意图: