编程题
### 问题描述
小齐的奶牛们喜欢玩文字游戏,尤其是文字解谜游戏。最近,农夫小齐的奶牛们设计了一个有趣的“单词查找器”谜题。
由于是奶牛,它们唯一感兴趣的单词是 $MOO$,这个单词可以在单词查找器中的许多位置出现,无论是水平、垂直还是对角线。
农夫小齐也喜欢文字游戏。由于奶牛们不希望他在它们有机会尝试之前解开他们的单词查找器,它们使用了一种“替换密码”对其内容进行了加密,将字母表中的每个字母替换为另一个不同的字母。例如,$A$ 可能映射到 $X$,$B$ 可能映射到 $A$,以此类推。没有字母映射到它本身,也没有两个字母映射到相同的字母(因为否则解密将是模棱两可的)。
不幸的是,奶牛们已经忘记了解密他们的谜题所需的替换密码。请帮助它们确定在适当选择的替换密码下,谜题中可能存在的最大“MOO”数量。
### 输入格式
第一行输入 $N$ 和 $M$,表示谜题的行数和列数(均不超过 $50$)。接下来的 $N$ 行每行包含 $M$ 个字符,描述了加密谜题的一行。每个字符都是大写字母 $A$ 到 $Z$ 中的一个。
### 输出格式
请输出在使用适当的替换密码解密后,谜题中可能包含的最大 $MOO$ 数量。
### 样例输入
```
4 6
TAMHGI
MMQVWM
QMMQSM
HBQUMQ
```
### 样例输出
```
6
```
### 评测数据规模
$1 \leq N, M \leq 50$。