from itertools import permutations def solve(n, k): if n < 4: for a in permutations(range(1,n+1)): x = sum((i+1)*a[i] for i in range(n)) if x == k: return list(a) return [-1] ans = [0 for _ in range(n)] delta = [0 for _ in range(n+1)] for m in range(n,4,-1): if k <= m + (m-1)*m*(m+1)//3: ans[n-m] = m k -= m*(m+1)//2 else: ans[n-m] = 1 delta[n-m+1] = 1 k -= m*m for a in permutations(range(1,5)): x = sum((i+1)*a[i] for i in range(4)) if x == k: for i in range(4): ans[n-4+i] = a[i] break for i in range(n): ans[i] += delta[i] delta[i+1] += delta[i] return ans N, K = map(int, input().split()) mx = sum(i*i for i in range(1, N+1)) mn = sum(i*(N+1-i) for i in range(1, N+1)) if K < mn or mx < K: print("No") else: ans = solve(N, K) if ans == [-1]: print("No") else: print("Yes") print(*list(i for i in range(1, N+1))) print(*ans)