nn, mm = gets.split.map(&:to_i)
aa = gets.split.map(&:to_i)
bc =
  readlines.map do |i|
    i.chomp.split.map(&:to_i)
  end
bc.sort!{|a,b|b[1]<=>a[1]}

# 新カードから大きいのをn枚引く
new_cards = []
0.upto(mm-1) do |i|
  b=bc[i][0]
  c=bc[i][1]
  new_cards.concat([c]*b)
  break if new_cards.size >= nn
end

# 手持ちと新カードの中から大きいのをn枚選ぶ
max = aa.concat(new_cards[0..(nn-1)]).sort{|a,b|b<=>a}[0..(nn-1)].inject(:+)
puts max
