#include <bits/stdc++.h>
using namespace std;
const int N=2e4+5;
const int M=505;
int n,m,c[M],e[M],p[N],dp1[N],dp2[M][N],ans;
signed main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for(int i=1;i<=n;i++) cin >> p[i];
sort(p+1,p+1+n,greater <int>());
for(int i=1;i<=n*2;i++) dp1[i]=dp1[i-1]+p[i];
for(int i=0;i<=m;i++) for(int j=1;j<=n*2;j++) dp2[i][j]=INT_MAX/2;
for(int i=1;i<=m;i++){
cin >> c[i] >> e[i];
for(int j=n*2;j>=1;j--){
dp2[i][j]=dp2[i-1][j];
if(j-c[i]<0) continue;
dp2[i][j]=min(dp2[i][j],dp2[i-1][j-c[i]]+e[i]);
}
}
for(int i=1;i<=n*2;i++) ans=max(ans,dp1[i]-dp2[m][i]);
//for(int i=0;i<=n*2;i++) cout << dp2[m][i] << " ";
cout << ans;
}