N,I = map(int,input().split()) dp = [-1] * (I + 1) dp[0] = 0 for _ in range(N): s,a = map(int,input().split()) for j in range(I, -1, -1): if dp[j] == -1: continue if j + s > I: continue dp[j + s] = max(dp[j + s], dp[j] + a) print(max(dp))