No tag edit access

E. Strictly Positive Matrix

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou have matrix *a* of size *n* × *n*. Let's number the rows of the matrix from 1 to *n* from top to bottom, let's number the columns from 1 to *n* from left to right. Let's use *a*_{ij} to represent the element on the intersection of the *i*-th row and the *j*-th column.

Matrix *a* meets the following two conditions:

- for any numbers
*i*,*j*(1 ≤*i*,*j*≤*n*) the following inequality holds:*a*_{ij}≥ 0; - .

Matrix *b* is strictly positive, if for any numbers *i*, *j* (1 ≤ *i*, *j* ≤ *n*) the inequality *b*_{ij} > 0 holds. You task is to determine if there is such integer *k* ≥ 1, that matrix *a*^{k} is strictly positive.

Input

The first line contains integer *n* (2 ≤ *n* ≤ 2000) — the number of rows and columns in matrix *a*.

The next *n* lines contain the description of the rows of matrix *a*. The *i*-th line contains *n* non-negative integers *a*_{i1}, *a*_{i2}, ..., *a*_{in} (0 ≤ *a*_{ij} ≤ 50). It is guaranteed that .

Output

If there is a positive integer *k* ≥ 1, such that matrix *a*^{k} is strictly positive, print "YES" (without the quotes). Otherwise, print "NO" (without the quotes).

Examples

Input

2

1 0

0 1

Output

NO

Input

5

4 5 6 1 2

1 2 3 4 5

6 4 1 2 4

1 1 1 1 1

4 4 4 4 4

Output

YES

Codeforces (c) Copyright 2010-2017 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Jul/23/2017 15:43:36 (c2).

Desktop version, switch to mobile version.

User lists

Name |
---|