// ビジュアライザーありがてぇーー!! #include #include #define rep(i, n) for(i = 0; i < n; i++) using namespace std; int main() { int n, K; cin >> n >> K; if (K == 0) { cout << -1 << endl; return 0; } int i, j; vector> a(n, vector(n)); rep(i, n) rep(j, n) a[i][j] = i * n + j; int cnt = n * n - K; for (i = n - 1; i >= 0; i--) { for (j = n - 2; j >= 0; j--) { if (cnt > 0) { swap(a[i][j], a[i][j + 1]); cnt--; } } } for (i = n - 2; i >= 0; i--) { if (cnt > 0) { swap(a[i + 1][0], a[i][0]); cnt--; } } rep(i, n) { rep(j, n) { cout << a[i][j] + 1; if (j + 1 < n) cout << " "; } cout << endl; } return 0; }