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 $$$N^2$$$ 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, \dots, c_{N \times N}$$$ is the number of pairs $$$(i, j)$$$ s.t. both $$$i \lt j$$$ and $$$c_i \gt c_j$$$ are satisfied.
Input is given from Standard Input in the following format:
$$$N$$$ $$$X$$$ $$$Y$$$
Constraints:
If there is no solution, print 'No'.
Otherwise, print the answer in the following format:
Yes
$$$M_{1,1}$$$ $$$M_{1,2}$$$ $$$\dots$$$ $$$M_{1,N}$$$
$$$M_{2,1}$$$ $$$M_{2,2}$$$ $$$\dots$$$ $$$M_{2,N}$$$
$$$\vdots$$$
$$$M_{N,1}$$$ $$$M_{N,2}$$$ $$$\dots$$$ $$$M_{N,N}$$$
If there are multiple solutions, you can print any of them.
3 8 13
Yes 1 3 4 2 7 6 9 8 5