#XMOJ11711. K级正方形

K级正方形

说明

时间限制:2 Sec 内存限制:256 MB 输入文件square.in 输出文件square.out

给定一张 $H \times W$ 的网格。规定从上往下第 $i$ 行、从左往右第 $j$ 列的格子记为 $(i,j)$。左上角格子为 $(1,1)$,右下角格子为 $(H,W)$。

格子 $(i,j)$ 中写有小写英文字母 $c_{i,j}$。

对于一个正方形区域:左上角坐标 $(a,b)$,右下角坐标 $(c,d)$,满足 $1 \le a \le c \le H,\ 1 \le b \le d \le W,\ c-a=d-b$。

若该正方形内包含的不同字母种类恰好为 $P$ 种,则称这个正方形为$P$ 级正方形。

请你求出网格中一共存在多少个 $K$ 级正方形。

输入格式

第一行三个整数 $H,W,K$。

接下来 $H$ 行,每行给出一个长度为 $W$ 的字符串,第 $i$ 行字符串依次代表 $c_{i,1},c_{i,2},\dots,c_{i,W}$。

输出格式

输出一个整数代表答案,末尾换行。

样例

样例 1

4 4 6
abcd
bcde
cdef
defg

0

样例说明:

不存在满足条件的正方形区域。

样例 2

4 4 3
abcd
bcde
cdef
defg

9

样例说明:

共有 99 个满足条件的正方形区域,分别是:

1. 左上角 $(1,1)$,右下角 $(2,2)$

2. 左上角 $(1,2)$,右下角 $(2,3)$

3. 左上角 $(1,3)$,右下角 $(2,4)$

4. 左上角 $(2,1)$,右下角 $(3,2)$

5. 左上角 $(2,2)$,右下角 $(3,3)$

6. 左上角 $(2,3)$,右下角 $(3,4)$

7. 左上角 $(3,1)$,右下角 $(4,2)$

8. 左上角 $(3,2)$,右下角 $(4,3)$

9. 左上角 $(3,3)$,右下角 $(4,4)$

样例 3

20 20 13
ncununuineuinouicnur
nhuimjiehuiomiojioje
jimiomuimmdrwumuioer
mimiajifhpmiowjiojor
kiojioansngimumapois
jimuipammhupheohmudp
hunpumimhuewijfuhrur
jipamuyfiuhrmpvyxphu
jiamsmxoyuuwhdehuutr
ioamuusuieumhufupyrr
mopmuaiomdumruuruype
popuauximueimurmfumr
ouiweuyoduwiumfryisj
koklnxuamurhphuremeu
immuwmupmpunyaygyweh
mumhxeyomxbwuhamhisd
moumzuihmyoetyrouish
zamuepiioouuomeymgoa
mamouzhoiedieoygmoer
upahumgeyurogebyjajd

119

数据范围

对于 30% 的数据,$H,W \le 10$。

对于 100% 的数据,$1 \le H,W \le 2000$,$1 \le K \le 26$,$c_{i,j}$ 是 $a \sim z$ 中的任意一个小写英文字母。