N, M = gets.split.map(&:to_i)
a = gets.split.map(&:to_i).sort
M.times do
  b, c = gets.split.map(&:to_i)
  i = a.bsearch_index { |a| c < a } || a.length
  t = [b, i].min
  a.insert(i, *([c] * t))
  a.shift(t)
end
puts a.inject(:+)
