from sys import stdin input = stdin.readline INF = 1<<60 N, W = map(int, input().split()) A = [list(map(int, input().split())) for _ in range(N)] dp = [-INF]*(W+1) dp[0] = 0 ndp = [-INF]*(W+1) for i, (u, v) in enumerate(A): for j in range(W+1): ndp[j] = -INF for j in range(W+1): if dp[j] == -INF: continue ndp[j] = max(ndp[j], dp[j]) if j+u <= W: ndp[j+u] = max(ndp[j+u], dp[j]+v) dp, ndp = ndp, dp for i in range(1, W+1): dp[i] = max(dp[i], dp[i-1]) for i in reversed(range(W)): print(dp[-1]-dp[i]+1)