n, t, s = gets.split.map(&:to_i)
arr = n.times.map{ gets.split.map(&:to_i) }
dp = [0]*(t+1)
ret = 0
n.times do |i|
  a, b = arr[i]
  t.downto(b) do |j|
    dp[j] = [dp[j], dp[j - b] + a].max if !(j - b < s && s < j)
  end
  ret = [ret, dp.max].max
end
p ret