N,W = map(int,input().split()) dp = [-10**9] * (W+1) dp[0] = 0 for i in range(N): w,v = map(int,input().split()) ndp = dp[::] for j in range(W+1): if j+w <= W: ndp[j+w] = max(ndp[j+w], dp[j]+v) dp = ndp for i in range(W): dp[i+1] = max(dp[i], dp[i+1]) for i in range(1, W+1): print(dp[W] - dp[W-i] + 1)