Latin Square

A Latin Square is a $n \cdot
n$ array filled with $n$ integers from $1$ to $n$, such that each number appears
**exactly once** in each row and in each
column.

For example, below is a Latin Square:

$1$ |
$2$ |
$3$ |

$2$ |
$3$ |
$1$ |

$3$ |
$1$ |
$2$ |

Gon really likes Latin Squares. He is currently creating one.

Gon first creates an empty matrix with $n$ rows and $n$ columns. Gon then writes $k \cdot n$ numbers in the matrix, using $k$ unique numbers, each appears $n$ times; so that in each row and in each column, no number appears more than once.

However, Gon does not know how to proceed. Please help Gon
fills the rest of the Latin square. Of course, you cannot
remove any number that Gon wrote. In other words, you can only
write on **empty cells**.

The first line of input contains $2$ integers, $n$ and $k$ $(1 \le n \le 100, 0 \le k \le n)$.

Each of the next $n$ lines contains $n$ integers representing the Latin square. The numbers are between $0$ and $n$, with $0$ representing an empty cell.

It is guaranteed that in each row and in each column, there are no two cells having the same value, and there are exactly $k$ different positive numbers used in the matrix.

If there is no solution, print exactly one line containing ‘NO’.

Otherwise, print ‘YES’, followed by $n$ lines, each containing $n$ numbers — the Latin square.

If there are more than one solution, you can print any one.

Sample Input 1 | Sample Output 1 |
---|---|

3 1 2 0 0 0 2 0 0 0 2 |
YES 2 1 3 3 2 1 1 3 2 |