#bitflyer2018quald. [bitflyer2018_qual_d]ハンコ

[bitflyer2018_qual_d]ハンコ

问题

有一张纸,上面写着一个 HHWW 列的方格。从上到下的第 ii 行,从左到右的第 jj 列的方格(1iH1 \leq i \leq H1jW1 \leq j \leq W)被称为方格 (i,j)(i, j)

有一块和这个方格大小相同的印章。印章的阴影由 NN 个长度为 MM 的字符串 A1,A2,...,ANA_1, A_2, ..., A_N 表示。将印章的左上角对齐到方格 (s,t)(s, t) 的左上角,按下印章后,被印章覆盖的每个方格 (u,v)(u, v)sus+N1s \leq u \leq s + N - 1tvt+M1t \leq v \leq t + M - 1)的颜色会变化如下:

  • 如果字符串 AiA_i 的第 jj 个字符为 #,则方格 (s+i1,t+j1)(s + i - 1, t + j - 1) 的颜色将变为黑色。
  • 如果字符串 AiA_i 的第 jj 个字符为 .,则方格 (s+i1,t+j1)(s + i - 1, t + j - 1) 的颜色不变。

一开始,所有方格的颜色都是白色。对于满足 1sHN+11 \leq s \leq H - N + 11tWM+11 \leq t \leq W - M + 1 的每组 sstt,将印章的左上角对齐到方格 (s,t)(s, t) 的左上角按下印章。

请计算颜色变为黑色的方格数。

约束条件

  • 1H,W1091 \leq H, W \leq 10^9
  • 1N,M10001 \leq N, M \leq 1000
  • NHN \leq H
  • MWM \leq W
  • Ai=M|A_i| = M (1iN1 \leq i \leq N)
  • 对于每个 ii,字符串 AiA_i 的每个字符都是 #.

输入

输入从标准输入读取,并具有以下格式。

HH WW NN MM A1A_1 A2A_2 :: ANA_N

输出

输出答案。

输入示例 1

3 4
2 3
..#
##.

输出示例 1

9

根据题意,印章应分别对应方格 (1,1)(1, 1)(1,2)(1, 2)(2,1)(2, 1)(2,2)(2, 2) 的位置,按下印章后,每个方格的颜色如下图所示。

当所有位置都按下印章后,颜色变为黑色的方格数为 9。

输入示例 2

5 5
4 4
####
#..#
#..#
####

输出示例 2

24

除了中间的方格外,其他方格都变为黑色。

输入示例 3

10 12
1 1
.

输出示例 3

0

输入示例 4

20 20
5 5
##.##
.##.#
..##.
...##
....#

输出示例 4

390

输入示例 5

1000000000 1000000000
5 4
.#..
....
..#.
.#..
....

输出示例 5

999999996999999999