Moocryption

아직 제출이 없습니다시간 제한1초메모리 제한256 MB

문제

소는 퍼즐을 좋아하고, 그중에서도 단어 찾기 퍼즐을 특히 좋아한다. 농부 존의 소들이 만든 단어 찾기 퍼즐의 예는 다음과 같다.

USOPEN
OOMABO
MOOMXO
PQMROM

소가 관심을 두는 단어는 "MOO" 하나뿐이다. 이 단어는 격자 어디에나 나타날 수 있고, 가로, 세로, 두 대각선을 각각 정방향과 역방향으로 읽는 여덟 방향을 모두 센다. 위 퍼즐에는 MOO가 6개 있다.

농부 존도 단어 퍼즐을 좋아한다. 소들은 존이 퍼즐을 먼저 풀어 버리는 것을 원하지 않아서 내용을 치환 암호로 암호화했다. 치환 암호는 알파벳의 각 글자를 다른 글자 하나로 바꾼다. 예를 들어 A는 X로, B는 A로 바뀌는 식이다. 어떤 글자도 자기 자신으로 바뀌지 않고, 서로 다른 두 글자가 같은 글자로 바뀌지도 않는다. 그렇지 않으면 복호화가 유일하게 정해지지 않기 때문이다.

그런데 소들은 복호화에 필요한 치환 암호를 잊어버렸다. 암호화된 퍼즐이 주어질 때, 치환 암호를 적절히 고르면 퍼즐에 MOO가 최대 몇 개까지 나타날 수 있는지 구하라.

입력

첫 줄에 퍼즐의 행 수 NN과 열 수 MM이 주어진다. 둘 다 1 이상 50 이하다.

이어지는 NN개의 줄에는 암호화된 퍼즐의 한 행이 MM개의 문자로 주어진다. 각 문자는 A부터 Z까지의 대문자다.

출력

치환 암호를 적절히 골랐을 때 퍼즐에 나타날 수 있는 MOO의 최대 개수를 한 줄에 출력한다.

힌트

첫 번째 예제 입력은 문제에 나온 퍼즐을 암호화한 것이다. 여기서는 M이 Q로, O가 M으로 바뀌었다.