SP10082 CMPANS - Comparing Answers

Description

In a place in Southwestern Europe, the name of which I do not wish to recall, not long ago there were _n_ cities connected by unidirectional roads, with possibly more than one road connecting a city to another one, or even to itself. As a homework assignment for your geography class, you need to calculate the number of paths of length exactly two that were between each pair of cities. However, you’ve been too busy celebrating the Spanish victory in the World Cup, so now you are copying the answers from your friend. You would like to make sure his answers are correct before handing in your homework. **Input** The input consists of several test cases, separated by single blank lines. Each test case begins with a line containing the integer _n_ (1 n n lines contain _n_ elements each, with element _j_ of line _i_ being the number of roads from city _i_ to city _j_ (a number between 0 and 10, inclusive). After that, there will be _n_ lines. Each will contain _n_ elements, with element _j_ of line _i_ being the answer from your friend for the number of length-2 paths from city _i_ to city _j_; it will be an integer between 0 and 100 000 inclusive. The test cases will finish with a line containing only the number zero (also preceded by a blank line). **Note:** Large input file; use fast I/O routines (e.g. scanf in C++ or BufferedReader in Java). **Output** For each case, your program should output a line. The content of this line should be YES if your classmate’s solution to the assignment is right, and NO otherwise. **Sample Input** ```
3
2 0 1
1 0 3
1 1 0
5 1 2
5 3 1
3 0 4

3
2 0 1
1 0 3
1 1 0
5 1 2
5 3 2
3 0 4

0
```
                            

Input Format

N/A

Output Format

N/A