#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+5;
struct node{
int b,c;
}s[N];
int a[N];
bool cmp(node x,node y)
{
if(x.c!=y.c)return x.c>y.c;
else return x.b>y.b;
}
signed main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);
for(int i=1;i<=m;i++)
cin>>s[i].b>>s[i].c;
sort(s+1,s+m+1,cmp);
int ans=0,cnt=1;
for(int i=1;i<=n;i++)
{
while(!s[cnt].b)cnt++;
s[cnt].b--;
ans=ans+max(a[i],s[cnt].c);
}
cout<<ans;
return 0;
}