n,m = gets.split.map(&:to_i)
a = gets.split.map(&:to_i).sort
d = []
m.times do
  b,c = gets.split.map(&:to_i)
  b.times do
    d << c
  end
end

d.sort!.reverse!

ans = 0
a.each_with_index do |v,i|
  if i < d.size
    ans += [v, d[i]].max
  else
    ans += v
  end
end

puts ans