Farmer John 的牧场可以表示为一个 $N\times N$ 的方格网 $(1\le N\le 300)$,包含所有 $1\le i,j\le N$ 的位置 $(i,j)$。对于网格中的每个方格,如果该位置有一头奶牛,则输入中对应的字符为 '*',否则为 '.'。
FJ 认为他牧场的美观程度与奶牛位置两两等距的三元组数量成正比。换句话说,它们构成了一个等边三角形。遗憾的是,FJ 最近才意识到,由于他所有的奶牛都位于整数坐标上,如果使用欧几里得距离,则不可能存在任何“美观”的三元组!因此,FJ 决定改用“曼哈顿”距离。形式上,两个位置 $(x_0,y_0)$ 和 $(x_1,y_1)$ 之间的曼哈顿距离等于 $|x_0-x_1|+|y_0-y_1|$。
给定表示奶牛位置的网格,计算等边三元组的数量。
输入格式
第一行包含一个整数 $N$。
对于每个 $1\le i\le N$,输入中的第 $i+1$ 行包含一个长度为 $N$ 的字符串,仅由字符 '*' 和 '.' 组成。第 $j$ 个字符描述了位置 $(i,j)$ 是否有奶牛。
输出格式
输出一个整数,表示答案。可以证明该结果在有符号 32 位整数范围内。
样例
输入格式 1
3 *.. .*. *..
输出格式 1
1
说明
这里有三头奶牛,它们构成了一个等边三元组,因为每对奶牛之间的曼哈顿距离都等于 2。