n, k = map(int, input().split()) if k == 1 or k >= n - 1: print("No") else: if n - k != 2: print("No") else: print("Yes") # Construct a chain of edges edges = [] edges.append((1, 2, 2)) if k > 2: for i in range(3, k + 1): edges.append((i-1, i, 0)) edges.append((k + 1 - 1, k + 1, -3)) # The second edge is -3 # Add the remaining edges as zeros for i in range(k + 2, n): edges.append((i-1, i, 0)) # The last edge should be 2 if there are remaining edges beyond the first K if k + 1 < n: edges.append((n-1 - (n - (k + 1)), n, 2)) # Correction for the actual chain edges = [] edges.append((1, 2, 2)) edges.append((2, 3, -3)) if k > 2: for i in range(3, k + 1): edges.append((i, i + 1, 0)) if n > k + 1: edges.append((k + 1, k + 2, 2)) for u, v, w in edges: print(u, v, w)