#include "string"
#include "cstdio"
#include "cstring"
#include "map"
#include "algorithm"
using namespace std;
struct customer
{
int count;
int money;
};
customer cus[ 50000 ];
int cmp(customer a,customer b)
{
return a.money>b.money;
}
int main()
{
int n,m;
while (cin>>n>>m)
{
memset(cus, 0 , sizeof (cus));
map< int , int > table;
int mx= 0 ;
for ( int i= 0 ;i<n;++i)
{
int a;
cin>>a;
if (mx<a) mx=a;
table[a]++;
}
for ( int i= 0 ;i<m;++i)
cin>>cus[i].count>>cus[i].money;
long long int res= 0 ;
sort(cus,cus+m,cmp);
for ( int i= 0 ;i<m;++i)
{
for ( int k=cus[i].count;k<=mx;++k)
{
if (table[k]> 0 )
{
res+=cus[i].money;
table[k]--;
break ;
}
}
}
cout<<res<<endl;
}
return 0 ;