2023 年上海市大学生程序设计竞赛 - 六月赛

A. 四角不同色

单点时限: 1.0 sec

内存限制: 256 MB

你需要构造一个 $n$ 行 $m$ 列的01矩阵。

其中第 $i$ 行第 $j$ 列的元素记作 $a_{i,j}$,满足 $a_{i,j}\in \{1,0 \} $,$(1\le i\le n,1\le j\le m)$ 。

此外你构造的这个矩阵还需要满足一个条件:对于每个长宽均大于 $1$ 的子矩阵,它的四个角上的元素不能完全相同。

形式化的说,对于任意的 $1\le i_1<i_2\le n,\ 1\le j_1<j_2\le m$,不允许 $a_{i_1,j_1}=a_{i_1,j_2}=a_{i_2,j_1}=a_{i_2,j_2}$ 的情况出现。

如果说不存在合法的构造方案,请输出一行 “No”(不包含引号)。

如果存在合法的构造方案,请先输出一行 “Yes”(不包含引号) ,然后输出一个 $n$ 行 $m$ 列的满足条件的01矩阵。输出矩阵的元素之间不得有额外的空格。

输入格式

第一行,一个正整数 $T$ 表示询问组数。

对每组询问,输入一行两个整数,$n,m$,表示矩阵的行数和列数。

输出格式

对于每组询问:

  • 如果无解,则输出一行 “No”(不包含引号).

  • 如果有解,请先输出一行 “Yes”(不包含引号) ,然后输出一个 $n$ 行 $m$ 列的满足条件的01矩阵。输出矩阵的元素之间不得有额外的空格。任何满足条件的矩阵均被认为是正确的。

样例

Input
2
2 2
400 400
Output
Yes
00
01
No

提示

$T\le 50000$,$2\le n,m\le 10^5, \sum n\cdot m \le 2\times 10^5$