Start

Contest 8 May

End

Time elapsed

5:00:00

Time remaining

0:00:00

Problem EKing of the Waves

Picture by JD Lasica via Flickr.

You are organising a king of the hill tournament, the Buenos
Aires Paddleboarding Competition (BAPC), with $n$ participants. In a king of the
hill tournament, one person starts as a “king” and is then
challenged by another person, the winning person becomes the
new king. This is repeated until all participants have
challenged exactly once (except for the starting person). In a
paddleboarding match, there are no draws. The person which ends
up as king, wins the tournament. Since you are the organiser,
you get to choose the starting person and the order in which
they challenge the king.

Someone is offering you a substantial amount of money in
case one of the participants, Henk, ends up winning the
tournament. You happen to know, for any two participants
$x$ and $y$, which of the two would win if
they were to match during the tournament. Consequently, you
choose to do the unethical: you will try to rig the game. Can
you find a schedule that makes Henk win the tournament?

Input

The first line contains an integer $1 \leq n \leq 1000$, the number
of participants. The participants are numbered $0, \dots , n-1$, where Henk is
$0$.

Then $n$ lines
follow, where each line has exactly $n$ characters (not counting the
newline character). These lines represent the matrix with
the information of who beats who, as follows. On line
$i$ the $j$th character is (note that
$0 \leq i, j <
n$):

’1’ if person $i$ will win against person
$j$.

’0’ if person $i$ will lose against person
$j$.

’X’ if $i = j$.

Output

Print a sequence of participants, such that the first person
starts as king and the consequent participants challenge the
king. If there is no way to rig the game such that Henk wins,
print “impossible”.