425. Control function

Time limit per test: 1 second(s)
Memory limit: 262144 kilobytes
input: standard
output: standard



A matrix T of non-negative integers with n rows and m columns is called a control matrix when its first row is different from all other rows. Formally speaking, T1jTij.

A function f from non-negative integers to non-negative integers is called a control function for the given control matrix T when the matrix f(T) obtained by applying f to every element of T is also a control matrix. Formally speaking, f(T1j) ≠ f(Tij).

Find a control function with all values not exceeding 50 for the given control matrix T.

Input
The first line of the input file contains two integers n and m (1 ≤ n, m ≤ 1000). The next n lines contain m integers each, representing the matrix Tij (). It is guaranteed that the matrix T is a control matrix.

Output
Output "Yes" (without quotes) to the first line of the output file if such a function exists, and "No" (without quotes) otherwise. If the answer is positive, then output the function via "key -> value" pairs (without quotes). Order keys in increasing order. All different numbers from matrix T must appear as a key exactly once, and no other keys should be printed.

Example(s)
sample input
sample output
1 5
1 2 3 4 5
Yes
1 -> 0
2 -> 0
3 -> 0
4 -> 0
5 -> 0

sample input
sample output
2 2
1 2
1 3
Yes
1 -> 1
2 -> 1
3 -> 0

sample input
sample output
4 2
0 2
4 5
7 6
3 1
Yes
0 -> 1
1 -> 0
2 -> 1
3 -> 0
4 -> 1
5 -> 0
6 -> 1
7 -> 0