D. Рарити и новое платье
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В бутике Карусель вновь кипит работа! Рарити решила посетить бал пони и для этого ей, конечно, необходимо новое платье, ведь выходить в свет в одном и том же платье несколько раз является признаком дурного тона. Для того чтобы сшить платье, ей прежде всего нужна выкройка, которую она вырежет из прямоугольного куска разноцветной ткани.

Кусок разноцветной ткани состоит из $$$n \times m$$$ отдельных квадратных лоскутков. Так как Рарити любит платья со вкусом, выкройка должна быть целиком составлена из лоскутков одного цвета. Выкройка должна быть квадратной и, так как Рарити обожает ромбы, его стороны должны находиться под углом $$$45^{\circ}$$$ к сторонам куска ткани (так он больше всего похож на классическое представление ромба).

Примеры подходящих выкроек: Примеры неподходящих выкроек: Первая состоит из лоскутков разного цвета, вторая выходит за границы куска ткани, третья не является квадратом со сторонами под углом $$$45^{\circ}$$$ к сторонам куска ткани.

Рарити интересно, сколько существует вариантов вырезать выкройку, которая удовлетворяет всем нужным условиям. Помогите ей удовлетворить свое любопытство, чтобы она могла продолжать работу над своим новым шедевром!

Входные данные

Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n, m \le 2000$$$). Каждая из следующих $$$n$$$ строк содержит $$$m$$$ символов — строчных латинских букв, $$$j$$$-я из которых соответствует лоскутку в текущей строке и $$$j$$$-м столбце. Лоскутки с одинаковыми буквами имеют одинаковые цвета, с различными — различные.

Выходные данные

Выведите единственное число — количество способов вырезать выкройку, чтобы удовлетворить условия Рарити.

Примеры
Входные данные
3 3
aaa
aaa
aaa
Выходные данные
10
Входные данные
3 4
abab
baba
abab
Выходные данные
12
Входные данные
5 5
zbacg
baaac
aaaaa
eaaad
weadd
Выходные данные
31
Примечание

В первом тесте из условия подходят все выкройки размера $$$1$$$ и одна размера $$$2$$$.

Во втором тесте из условия подходят только выкройки размера $$$1$$$.