N, M = gets.split(' ').map(&:to_i)

stores = []
N.times do
  a = gets.split(' ').map(&:to_i)
  stores.push(a)
end
stores.sort_by!{|store| store[0]}

drinks = 0
money = 0
while true
  store = stores.shift
  if store[1] + drinks < M
    drinks += store[1]
    money += store[0] * store[1]
  else
    money += store[0] * (M - drinks)
    break
  end
end

puts money