AT_abc330_d [ABC330D] Counting Ls

Description

[problemUrl]: https://atcoder.jp/contests/abc330/tasks/abc330_d $ N\ \times\ N $ のマス目が与えられます。このうち上から $ i $ 行目、左から $ j $ 列目のマスを $ (i,j) $ と書きます。 各マスの状態を表す $ N $ 個の長さ $ N $ の文字列 $ S_1,S_2,\dots,S_N $ が以下の形式で与えられます。 - $ S_i $ の $ j $ 文字目が `o` であるとき、 $ (i,j) $ には `o` が書かれている。 - $ S_i $ の $ j $ 文字目が `x` であるとき、 $ (i,j) $ には `x` が書かれている。 以下の条件を全て満たすマスの三つ組の個数を求めてください。 - 組に含まれる $ 3 $ マスは相異なる。 - $ 3 $ マス全てに `o` が書かれている。 - マスのうち、丁度 $ 2 $ つが同じ行にある。 - マスのうち、丁度 $ 2 $ つが同じ列にある。 但し、ふたつの三つ組は、丁度一方に含まれるマスが存在する場合のみ区別します。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $

Output Format

答えを整数として出力せよ。

Explanation/Hint

### 制約 - $ N $ は $ 2 $ 以上 $ 2000 $ 以下の整数 - $ S_i $ は長さ $ N $ の `o` と `x` からなる文字列 ### Sample Explanation 1 以下の $ 4 $ つの三つ組が条件を満たします。 - $ (1,1),(1,2),(2,1) $ - $ (1,1),(1,3),(2,1) $ - $ (1,1),(1,3),(3,3) $ - $ (1,2),(1,3),(3,3) $