Invertible Construction

Limits 1s, 512 MB

You are given two integers nn and kk. We define an operation on a r×cr\times c binary matrix as follows:

Construct an n×nn\times n matrix such that:

  1. It has kk cells containing 11s and the rest n2kn^2-k cells contain 00s.

  2. All the 11s remain connected if not\bf{not} more\bf{more} than\bf{than} one\bf{one} operation is performed. We call two cells AA and BB connected if the cell BB can be reached from AA by only traversing through the neighboring cells that are 11. Here, two cells are considered to be neighbors if and only if they share a side.

Or report if it is impossible.

Input

The first and only line of the input contains two integers nn (1n100)(1\le n\le 100) and kk ((n2)kn2)\bf (\binom{n}{2}\le k \le n^2).

Output

In the first line, print "NO" if the construction is impossible to achieve.

Otherwise, print "YES" in the first line, and in the next nn lines, print an n×nn\times n binary matrix that satisfies the constraints. If there are multiple such valid matrices, print any of them.

Samples

InputOutput
1 0
YES
0
InputOutput
2 4
YES
11
11
InputOutput
6 24
YES
111111
011001
001111
111011
111111
000000

Note that, sharing a corner does not make two cells neighbors.