def solve(): N, K = map(int, input().split()) if K == 0: return print(-1) pos = [] for s in range(2 * N): for y in range(N): x = s - y if x < 0 or x >= N: continue pos.append((y, x)) # print(pos) ords = pos[K:]+pos[:K] ans = [[-1] * N for _ in range(N)] for i in range(N * N): y, x = ords[i] ans[y][x] = i + 1 for a in ans: print(*a) # T = int(input()) T = 1 for _ in range(T): solve()