atcoder#ABC258G. [ABC258G] Triangle

[ABC258G] Triangle

Score : 600600 points

Problem Statement

You are given a simple undirected graph GG with NN vertices.

GG is given as the N×NN \times N adjacency matrix AA. That is, there is an edge between Vertices ii and jj if Ai,jA_{i,j} is 11, and there is not if Ai,jA_{i,j} is 00.

Find the number of triples of integers (i,j,k)(i,j,k) satisfying 1i<j<kN1 \le i < j < k \le N such that there is an edge between Vertices ii and jj, an edge between Vertices jj and kk, and an edge between Vertices ii and kk.

Constraints

  • 3N30003 \le N \le 3000
  • AA is the adjacency matrix of a simple undirected graph GG.
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

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}

Output

Print the answer.

4
0011
0011
1101
1110
2

(i,j,k)=(1,3,4),(2,3,4)(i,j,k)=(1,3,4),(2,3,4) satisfy the condition.

(i,j,k)=(1,2,3)(i,j,k)=(1,2,3) does not satisfy the condition, because there is no edge between Vertices 11 and 22.

Thus, the answer is 22.

10
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0000000000
0