def main(): n, m, k = list(map(int, input().split())) N = n*(n-1)//2 if N-m < k: return [(-1, -1)] Ans = [[] for _ in range(k+1)] idx = 0 for i in range(k+1): if i == 1: for j in range(n-k): Ans[i].append(idx) idx += 1 else: Ans[i].append(idx) idx += 1 Del = [] OK = [] C = set() for i in range(k+1): if i < k: C.add((Ans[i][-1], Ans[i+1][-1])) for now in Ans[i]: for j in range(i+2, k+1): for nxt in Ans[j]: Del.append((now, nxt)) for nxt in Ans[i]: if now < nxt: OK.append((now, nxt)) if i < k: for nxt in Ans[i+1]: OK.append((now, nxt)) if m < len(Del): return [(-1, -1)] m -= len(Del) for now, nxt in OK: if (now, nxt) in C: continue if m: m -= 1 Del.append((now, nxt)) return Del Ans = main() if not Ans or Ans[0][0] != -1: print("Yes") for u, v in Ans: print(u+1, v+1) else: print("No")