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 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 , indicating the number of test cases to follow.
Each test case 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
Since the original data were weak, an additional test case was added, and all submissions were rejudged.