import sys N, K = map(int, input().split()) if N * (N + 1) // 2 % K != 0: print('No') sys.exit() if N // K % 2 == 1: a = [] for i in range(N // K): a.append([j+1 for j in range(K * i, K * (i + 1))]) i = 0 j = len(a) - 1 ans = [[] for i in range(K)] while (j - i + 1) % K != 0: for k in range(K): ans[k].append(a[i][k]) ans[k].append(a[j][-1 - k]) i += 1 j -= 1 for k in range(i, j + 1): for l in range(K): ans[l].append(a[k][(l + k) % K]) for k in range(K): print(*ans[k]) elif N // K % 2 == 0: print('Yes') a = [] for i in range(N // 2): a.append(i) a.append(N - 1 - i) for i in range(K): b = [] for j in range(N // K): b.append(a[i * N // K + j] + 1) print(*b)