(n, m) = gets.chomp.split(' ').map(&:to_i)

v = []
n.times do |i|
  (a, b) = gets.chomp.split(' ').map(&:to_i)
  v.push({:a => a, :b => b})
end
v.sort!{|x, y| x[:a] <=> y[:a]}

s = 0
t = 0
v.each do |vi|
  if t >= m then
    break
  end
  
  if vi[:b] >= (m - t) then
    s += vi[:a] * (m - t)
    t += (m - t)
  else
    s += vi[:a] * vi[:b]
    t += vi[:b]
  end
end

puts s.to_s