#include "iostream"
#include "vector"
#include "string"
#include "algorithm"
using namespace std;
struct People
{
int n;
int v;
int index;
bool operator < (const People &p)
{
if(v > p.v)
return true;
else
return n < p.n;
}
};
bool cmp(int a, int b)
{
return a > b;
}
int main()
{
int n, m;
int a[5000];
People p[5000];
int x[5000];
cin >> n >> m;
int i;
for(i=0; i<n; i++)
cin >> a[i];
for(i=0; i<m; i++)
{
p[i].index = i;
cin >> p[i].n >> p[i].v;
}
sort(a, a+n, cmp);
sort(p, p+m);
memset(x, 0, sizeof(x));
int value = 0;
for(i=0; i<n; i++)
{
for(int j=0; j<m; j++)
{
if(!x[j] && p[j].n <= a[i])
{
x[j] = 1;
a[i] -= p[j].n;
value += p[j].v;
}
}
}
cout << value;
return 0;
}