#include <bits/stdc++.h>
using namespace std;
 
int main(){
int i,j;
int N;
int M;
cin >> N >> M;
int A,B,C;
priority_queue<int> q;
pair<int,int> CB[M];
for(i=0;i<N;i++){
  cin >> A;
  q.push(A);}
for(i=0;i<M;i++){
  cin >> B >> C;
  CB[i]=make_pair(C,B);}
sort(CB,CB+M);
int count = 0;
for(j=M-1;j>=0;j--){
  tie(C,B)=CB[j];
  while(B!=0){
    q.push(C);
    B--;
    count++;
    if(count>=N)break;
  }
  if(count>=N)break;
}
long long int ans = 0;
for(i=0;i<N;i++){
    ans += q.top();
    q.pop();
 }
 cout << ans << endl;
  return 0;
}
