You have an N by N grid board, which is initially empty. You will write an integer to each cell, using each integer from 1 to N2 exactly once. Let M_i,j be the integer written on the cell in the i-th row from the top and the j-th column from the left.
Let's define sequences A and B as follows:
For example, when the board looks like this,
1 3 4
2 7 6
9 8 5
A and B are defined as follows.
You are given integers N,X,Y. Find a way to fill in the cells so that the inversion numbers of A and B are X and Y respectively, or report that it is impossible to do so.
Note: an inversion number of a sequence C=c_1,c_2,…,c_N×N is the number of pairs (i,j) s.t. both i<j and c_i>c_j are satisfied.
Input is given from Standard Input in the following format:
N X Y
If there is no solution, print 'No'.
Otherwise, print the answer in the following format:
Yes
M_1,1 M_1,2 … M_1,N
M_2,1 M_2,2 … M_2,N
⋮
M_N,1 M_N,2 … M_N,N
If there are multiple solutions, you can print any of them.