#define _CRT_SECURE_NO_WARNINGS #include<bits/stdc++.h> #include<unordered_set> usingnamespace std; #define ll long long #define ld long double #define PI acos(-1.0) #define mem(x) memset(x, 0, sizeof(x)) #define MOD 1000000007 #define ER 0.00001 #define N 200005 #define inf 0x7FFFFFFF int dir[4][2] = { {0,-1},{0,1},{1,0},{-1,0} };
voidfunc() { int t; cin >> t; while (t--) { int a[105][105] = { 0 }; int n, k; cin >> n >> k;
if (k < n || n * n - n + 1 < k) { cout << "No" << "\n"; } else { int cur = k; for (int i = 0; i < n; i++) { a[i][i] = cur++; } cout << "Yes\n"; cur = 1; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { if (i == j) { continue; } if (cur == k) { cur += n; } a[i][j] = cur; cur++; } } for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { cout << a[i][j] << " "; } cout << "\n"; } } } }