n,m = gets.chomp.split.map(&:to_i)
a = gets.chomp.split.map(&:to_i)
sizea=a.size
op = []
m.times do |i|
  d = gets.chomp.split.map(&:to_i)
  op.push([d[0],d[1]]) # 個数、数
end
op.sort_by!{|i| -i[1]}
opn=a
cnt=0
op.each do |o|
  if cnt >= sizea
    break
  end
  cnt += o[0]
  opn += Array.new(o[0],o[1])
end
puts opn.sort.reverse[0..sizea-1].inject(&:+)
