Mirko 和 Slavko 正在玩一个类似国际象棋的游戏。游戏在一个大小为 $R$ 行 $C$ 列的非标准棋盘上进行。每个玩家开始时都有若干个棋子“王”(king)。在国际象棋中,“王”可以从当前格子移动到周围的 8 个相邻格子之一。
一个玩家的散布度(spread)定义为该玩家所有棋子对之间距离的总和。两个棋子之间的距离定义为这两个棋子移动到同一个格子所需的最少步数之和。在计算距离时,不需要实际进行移动,因此敌方棋子不会影响计算结果。
Mirko 知道散布度是一项至关重要的战略信息,他希望你编写一个程序,帮他计算他自己和 Slavko 的散布度。
输入格式
输入的第一行包含两个整数 $R$ 和 $C$($1 \le R, C \le 1\,000$),分别表示棋盘的行数和列数。
接下来的 $R$ 行,每行包含 $C$ 个字符。字符 'M' 表示 Mirko 的棋子,'S' 表示 Slavko 的棋子,'.' 表示空格子。
棋盘上每个玩家都至少有一个棋子。否则游戏就已经结束了。
输出格式
输出的第一行也是唯一的一行,包含两个整数。第一个整数是 Mirko 棋子的散布度,第二个整数是 Slavko 棋子的散布度。
数据范围
- 在占总分 $20\%$ 的测试数据中,棋盘上的棋子总数将小于或等于 $5000$。
- 在占总分 $60\%$ 的测试数据中,数量 $R$ 和 $C$ 将小于或等于 $300$。
样例
输入样例 1
2 3 SMS MMS
输出样例 1
3 5
输入样例 2
2 3 S.M M..
输出样例 2
2 0
输入样例 3
4 5 M.... ..S.M SS..S .M...
输出样例 3
10 13