Hide

Problem M
Foreign Football

You are on vacation in a foreign country. This country has a local football league, and you don’t know any of the team names. However, you have found a table of all the results from this season, and next to every match is the concatenated names of the two teams that played.

There are $n$ teams in total, named $s_1, s_2, \cdots , s_ n$. You are given the concatenation $s_ i+s_ j$ for every ordered pair $i \neq j$. Find the teams names $s_1, s_2, \cdots , s_ n$. Team names must be nonempty, but they do not need to be distinct.

Input

The first line of input contains the integer $n$ ($2 \leq n \leq 500$).

The following $n$ lines each contain $n$ strings, the table of concatenated team names. The $j$:th string on the $i$:th of these lines will contain the string $s_ i + s_ j$ if $i \neq j$, and “*” if $i = j$. The concatenated team names will consist of lower case characters a-z.

The total number of characters in concatenated team names is at most $10^6$.

Output

If there is no solution, print “NONE”.

If there is more than one solution, print “MANY”.

If there is one unique solution, print “UNIQUE”, followed by $n$ lines containing $s_1, s_2, \cdots , s_ n$.

Sample Input 1 Sample Output 1
3
* difaik difhammarby
aikdif * aikhammarby
hammarbydif hammarbyaik *
UNIQUE
dif
aik
hammarby
Sample Input 2 Sample Output 2
2
* aaaa
aaaa *
MANY
Sample Input 3 Sample Output 3
3
* a ab
a * b
ba b *
NONE
Sample Input 4 Sample Output 4
2
* zz
zz *
UNIQUE
z
z

Please log in to submit a solution to this problem

Log in