N, M = gets.split.map(&:to_i)
A = gets.split.map(&:to_i).sort.reverse
OP = M.times.map{ gets.split.map(&:to_i) }.sort_by(&:last).reverse
OP.inject(0) do |offset, (b,c)|
  b.times do |i|
    if A[offset + i] < c
      A[offset + i] = c
    end
  end
  offset + b
end
puts A.inject(&:+)