n,I=map(int,input().split()) q=[0]*(I+1) for _ in range(n): s,a=map(int,input().split()) for i in reversed(range(I+1)): if i+s<=I: q[i+s]=max(q[i+s],q[i]+a) print(max(q))