#include using namespace std; int main() { int T; cin >> T; int S = 0; while (T--) { int H, W; cin >> H >> W; assert(3 <= H && 3 <= W); S += H * W; if (H == 3 && W == 3) { cout << "No\n"; continue; } cout << "Yes\n"; if (H % 2 == 0) { string A(W, '0'), B(W, '1'); for (int i = 0; i < H; i++) { cout << (i % 2 == 0 ? A : B) << '\n'; } } else if (W % 2 == 0) { string S; for (int j = 0; j < W; j++) { S.push_back(j % 2 == 0 ? '0' : '1'); } for (int i = 0; i < H; i++) { cout << S << '\n'; } } else if (H == 3) { if (W % 4 == 1) { int c = (W - 5) / 4; cout << "00011"; for (int i = 0; i < c; i++) cout << "0011"; cout << '\n'; cout << "01100"; for (int i = 0; i < c; i++) cout << "0110"; cout << '\n'; cout << "11001"; for (int i = 0; i < c; i++) cout << "1100"; cout << '\n'; } else { int c = (W - 3) / 4; cout << "011"; for (int i = 0; i < c; i++) cout << "0010"; cout << '\n'; cout << "110"; for (int i = 0; i < c; i++) cout << "1100"; cout << '\n'; cout << "000"; for (int i = 0; i < c; i++) cout << "1011"; cout << '\n'; } } else if (W == 3) { if (H % 4 == 1) { cout << "001\n011\n010\n100\n101\n"; vector S = {"001", "011", "110", "100"}; for (int i = 0; i < H - 5; i++) { cout << S[i % 4] << '\n'; } } else { cout << "010\n110\n100\n"; vector S = {"011", "010", "101", "001"}; for (int i = 0; i < H - 3; i++) { cout << S[i % 4] << '\n'; } } } else if (W % 4 == 1) { int c = (W - 5) / 4; string A = "11010", B = "00011", C = "11100"; for (int i = 0; i < c; i++) { A += "1100"; B += "0011"; C += "1100"; } cout << A << '\n'; for (int i = 1; i < H - 1; i++) { cout << (i % 2 == 1 ? B : C) << '\n'; } cout << A << '\n'; } else { int c = (W - 7) / 4; string A = "1101010", B = "0001110", C = "1110001"; for (int i = 0; i < c; i++) { A += "1100"; B += "0011"; C += "1100"; } cout << A << '\n'; for (int i = 1; i < H - 1; i++) { cout << (i % 2 == 1 ? B : C) << '\n'; } cout << A << '\n'; } } assert(S <= 1000000); }