N,I = map(int, input().split()) SI = [list(map(int, input().split())) for _ in range(N)] DP = [0]*(I+1) for s,a in SI: for i in reversed(range(I)): if (i==0 or DP[i]>0) and s+i<=I: DP[s+i] = max(DP[i]+a,DP[s+i]) print(max(DP))