codeforces#P1917E. Construct Matrix

Construct Matrix

Description

You are given an even integer $n$ and an integer $k$. Your task is to construct a matrix of size $n \times n$ consisting of numbers $0$ and $1$ in such a way that the following conditions are true, or report that it is impossible:

  • the sum of all the numbers in the matrix is exactly $k$;
  • the bitwise $\texttt{XOR}$ of all the numbers in the row $i$ is the same for each $i$;
  • the bitwise $\texttt{XOR}$ of all the numbers in the column $j$ is the same for each $j$.

Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 130$) — the number of test cases. The description of the test cases follows.

Each test case is described by a single line, which contains two integers $n$ and $k$ ($2 \leq n \leq 1000$, $n$ is even, $0 \leq k \leq n^2$).

It is guaranteed that the sum of $n$ over all test cases does not exceed $2000$.

For each test case, output $\texttt{Yes}$ if it's possible to construct a matrix that satisfies all of the problem's conditions, and $\texttt{No}$ otherwise.

If it is possible to construct a matrix, the $i$-th of the next $n$ lines should contain $n$ integers representing the elements in the $i$-th row of the matrix.

Input

Each test consists of multiple test cases. The first line contains a single integer $t$ ($1 \leq t \leq 130$) — the number of test cases. The description of the test cases follows.

Each test case is described by a single line, which contains two integers $n$ and $k$ ($2 \leq n \leq 1000$, $n$ is even, $0 \leq k \leq n^2$).

It is guaranteed that the sum of $n$ over all test cases does not exceed $2000$.

Output

For each test case, output $\texttt{Yes}$ if it's possible to construct a matrix that satisfies all of the problem's conditions, and $\texttt{No}$ otherwise.

If it is possible to construct a matrix, the $i$-th of the next $n$ lines should contain $n$ integers representing the elements in the $i$-th row of the matrix.

5
4 0
6 6
6 5
4 2
6 36
Yes
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
Yes
1 0 0 0 0 0
0 1 0 0 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 1 0
0 0 0 0 0 1
No
No
Yes
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1

Note

In the first example, all conditions are satisfied:

  • the sum of all the numbers in the matrix is exactly $0$;
  • the bitwise $\texttt{XOR}$ of all the numbers in the row $i$ is $0$ for each $i$;
  • the bitwise $\texttt{XOR}$ of all the numbers in the column $j$ is $0$ for each $j$.

In the third example, it can be shown that it's impossible to find a matrix satisfying all the problem's conditions.