##### Woburn Team Practice '07

We all know of the centuries-long battle between the monkeys and the cows. In an attempt to defeat the cows once and for all, the monkeys are holding a meeting to discuss battle strategy. The land in which the monkeys live consists of towns, numbered from to . Some towns are connected by one-way roads. It is known that all the monkeys live in town and that the meeting will be held in town .

It is the day of the meeting, and all the monkeys are mingling with each other. To their amazement, they discover that each of the monkeys traveled from town to to town along a path that didn't visit any town more than once. They also discover that each monkey traveled a path distinct from all other monkeys. Finally, they come to realize that there could not be any more monkeys at the meeting, otherwise one of the earlier conditions would have been violated. How many monkeys are at the meeting?

#### Input Specification

The first line of the input file contains a single integer , between and , inclusive, indicating the number of testcases to follow.

Each testcase begins with a single line containing the integer . The
next lines each contain space-separated integers, either `0`

or `1`

,
giving the one-way connections between towns in the land (`0`

means no
connection exists, `1`

means a connection does exist).

#### Output Specification

A single integer that is the number of monkeys at the meeting. **This
number should be outputted modulo .**

#### Sample Input

```
1
5
0 1 1 0 0
1 0 0 0 1
0 1 0 1 1
1 1 1 0 1
1 0 0 0 0
```

#### Sample Output

`5`

#### Explanation

There are monkeys at the meeting. The paths taken are:

There cannot be any more monkeys at the meeting because the paths they
travelled wouldn't be distinct or would visit a town more than once
during their trip.

## Comments