#include long long int w[102], v[102]; long long int dp[100005]; int main() { int n, W; scanf("%d %d", &n, &W); int i, j; for (i = 0; i < n; i++) scanf("%lld %lld", &w[i], &v[i]); for (i = 0; i <= W; i++) dp[i] = 0; for (i = 0; i < n; i++) for (j = W - w[i]; j >= 0; j--) if (dp[j + w[i]] < dp[j] + v[i]) dp[j + w[i]] = dp[j] + v[i]; for (i = 1; i <= W; i++) printf("%lld\n", dp[W] - dp[W - i] + 1); return 0; }