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

b_arr = []
M.times do
  b, c = gets.split(' ').map(&:to_i)
  b_arr << [b, c]
end
b_arr.sort! { |a1, a2| a2[1] <=> a1[1] }

i = 0
isBreak = false
b_arr.each do |e|
  b, c = e
  b.times do
    if a[i] < c
      a[i] = c
    else
      isBreak = true
      break
    end
    i += 1
  end
  break if isBreak
end
puts a.reduce(&:+)
