n,t=gets.split.map(&:to_i)
ab=[]
m=0
n.times do
  a,b=gets.split.map(&:to_i)
  ab << [a,b]
  m=a if a>m
end
dp=[0]*(t+m+1)
ab.sort.each do |a,b|
  (t-1).downto(0) do |j|
    if dp[j+a]<b+dp[j]
      dp[j+a]=b+dp[j]
    end
  end
end
puts dp.max
