AT_tenka1_2018_e Equilateral

Description

[problemUrl]: https://atcoder.jp/contests/tenka1-2018/tasks/tenka1_2018_e $ xy $ 平面上にコインがいくつかあります。 コインの配置は $ H $ 行 $ W $ 列のグリッドを用いて表され、グリッドの $ i $ 行 $ j $ 列目の文字 $ s_{ij} $ が `#` のとき座標 $ (i,j) $ にコインがひとつあることを、 `.` のとき座標 $ (i,j) $ にコインがないことを表します。 その他に $ xy $ 平面上にコインは存在しません。 相異なるコインの $ 3 $ つ組であって、以下の条件を満たすものの個数を求めてください。 - $ 3 $ つのうちどの $ 2 $ つのコインをとっても、それらの存在する座標の間のマンハッタン距離が一定である ただし、座標 $ (x,y),(x',y') $ の間のマンハッタン距離は、$ |x-x'|+|y-y'| $ で表されます。 また、コインの順番を入れ替えただけの組は同じものとみなします。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ H $ $ W $ $ s_{11}...s_{1W} $ $ : $ $ s_{H1}...s_{HW} $

Output Format

条件を満たす組の個数を出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ H,W\ \leq\ 300 $ - $ s_{ij} $ は `#` または `.` である ### Sample Explanation 1 $ ((1,1),(1,3),(2,2)),((1,1),(2,2),(3,1)),((1,3),(3,1),(4,4)) $ が条件を満たします。