#M22. Halloween

Halloween

Background

有人说要有一个万圣节题目。

Description

我们总是能在 Halloween 中看到很多有意思的东西,比如字母 H\texttt{H}.

记第 ii 行第 jj 列的格子坐标为 (i,j)(i,j). 请注意这个坐标表示和平面直角坐标系上的不同。

给定一个 n×mn\times m 的网格,每个格子都是白色或黑色的。定义一个 H\texttt{H} 形,可以用四元组 (i1,i2,j1,j2)(i_1,i_2,j_1,j_2) 表示,满足:

  1. 1i1<i2n,1j1<j2m1\leq i_1 < i_2\leq n,\, 1\leq j_1 < j_2\leq m.
  2. i1+i2i_1+i_2 为偶数.
  3. 线段 (i1,j1)(i2,j1)(i_1,j_1) - (i_2,j_1), 线段 (i1,j2)(i2,j2)(i_1,j_2) - (i_2,j_2), 线段 (i1+i22,j1)(i1+i22,j2)(\frac{i_1+i_2}{2},j_1) - (\frac{i_1+i_2}{2},j_2) 这三条线段上的格子都是黑色。

求这个网格上有多少个 H\texttt{H}. 两个 H\texttt{H} 不同,当且仅当这两个 H\texttt{H} 对应的四元组 (i1,i2,j1,j2)(i_1,i_2,j_1,j_2) 不同。

Format

Input

第一行两个正整数 n,m(1n,m103)n,m\,(1\leq n,m\leq 10^3).

随后一个 nnmm 列的字符矩阵,每个字符为 #.,分别表示黑色和白色。

Output

一个非负整数表示答案。

Samples

3 3
#.#
###
#.#
1
3 2
##
##
##
1
5 5
##..#
#####
.####
#####
#.###
10

Limitation

1s, 256MiB.