n,m=gets.split.map(&:to_i)
array=gets.split.map(&:to_i).sort
bcarray=[]
m.times{
    b,c=gets.split.map(&:to_i)
    bcarray.push([b,c])
}
ans=array.inject(:+)

bcarray=bcarray.sort_by{|value| value[1]}.reverse
index=0
isbreak=false

bcarray.map{|i|
    
    if isbreak
        break
    end
    
    b=i[0]
    c=i[1]
    
    b.times{
        
        if index==n
            isbreak=true
            break
        end
        
        
       if c>array[index]
           ans+=c-array[index]
           index+=1
        else
            isbreak=true
            break
        end
    }
}

puts ans