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