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

hash = {}
readlines.each do |line|
  k, v = line.split.map(&:to_i)
  if hash[k]
    hash[k] += v
  else
    hash[k] = v
  end
end

ans = 0
while M.positive?
  min = hash.keys.min

  if M > hash[min]
    M -= hash[min]
    ans += min * hash[min]
    hash.delete(min)
  else
    ans += min * M
    break
  end
end

puts ans
