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
  a.insert(i, *([c] * b))
  a.slice!(0, b)
end
puts a.inject(:+)
