問題文

vil 君は「ポコットモンスター」というゲームで遊んでいます。ポコットモンスターはポコモンと呼ばれるモンスター同士を戦わせることで進行する対戦ゲームです。

各ポコモンと彼らの繰り出す技には NN 種類のタイプがあり、それぞれ 11 から NN までの番号が振られています。各ポコモンには 22 個のタイプ、各技には 11 個のタイプが割り当てられています。 また各タイプ同士には相性が決まっており、タイプ jj を含むポコモンにタイプ ii の技を繰り出した場合は技の威力が以下のように変化します。

  • ai,j=a_{i,j}= o の場合、技の威力が 22 倍になる。
  • ai,j=a_{i,j}= - の場合、技の威力が 11 倍になる。
  • ai,j=a_{i,j}= x の場合、技の威力が 12\frac{1}{2} 倍になる。

vil 君は全般的に攻撃に強いポコモンを求めています。vil 君のために「ポコモンに異なる 22 つのタイプ (x,y)(1x<yN)(x,y)(1 \le x \lt y \le N) を割り当てる方法であって、どのようなタイプの技を繰り出しても x,yx,y それぞれに対する威力倍率の積が 11 以下であるようなものの個数」を求めてください。

制約

  • NN22 以上 10001000 以下の整数
  • ai,j{a_{i,j}\in\{ o, -, x }\}

入力

NN
a1,1a1,2a1,Na_{1,1}a_{1,2}\dots a_{1,N}
a2,1a2,2a2,Na_{2,1}a_{2,2}\dots a_{2,N}
\vdots
aN,1aN,2aN,Na_{N,1}a_{N,2}\dots a_{N,N}

出力

答えを出力し、最後に改行してください。

サンプル 1

入力
3
o--
oxo
x--
出力
1

タイプ (2,3)(2,3) を割り当てた場合のみ条件を満たします。

サンプル 2

入力
6
ox--x-
ox-x-x
o----o
ox----
x-----
--x--o
出力
6

サンプル 3

入力
9
-o-oox---
-o--o----
xxo-x-ox-
x-x---o--
-oxx-xxx-
xxxxoxooo
xxo-o-xx-
-oxxo-xo-
-x--o-x--
出力
7

Submit


Go (1.21)