$N \times M$ 크기의 격자 $A$가 주어진다. 격자의 $i$행 $j$열에 해당하는 칸에는 알파벳 대문자 $A_{i, j}$가 쓰여 있다.
다음 조건을 만족하는 격자를 대칭 격자라고 한다.
주어진 격자 $A$에서 연속한 몇 개의 행과 연속한 몇 개의 열을 골라서 만들 수 있는 모든 부분 격자 중, 대칭 격자인 것의 개수를 출력하라.
첫째 줄에 격자 $A$의 행 개수 $N$과 열 개수 $M$이 공백으로 구분되어 주어진다. $(2 \le N, M \le 500)$
다음 $N$개의 줄에는 $A_{i,1}, A_{i, 2}, \cdots, A_{i, M}$이 공백 없이 주어진다. $A_{i, j}$는 격자 $A$의 $i$행 $j$열에 쓰여진 문자를 의미하며, 알파벳 대문자 중 하나이다.
주어진 격자 $A$의 연속한 모든 부분 격자 중, 대칭 격자인 것의 개수를 출력한다.
이 문제는 Python3를 이용하여 풀 수 있음을 보장할 수 없다. Python을 사용한다면, PyPy3가 Python3와 같은 문법을 가지면서 일반적으로 더 빠르게 동작하기에 PyPy3로 제출하는 것을 권장한다.