#include<bits/stdc++.h>
using namespace std;
int n,m,k,z[105],ans;
struct Node{
int a,b;
}f[200];
bool cmp(Node x,Node y)
{
if(x.b != y.b)
return x.b<y.b;
else
return x.a>y.a;
}
int main()
{
cin>>n>>m>>k;
for(int i=1; i<=k; i++)
cin>>z[i];
for(int i=1; i<=n; i++)
cin>>f[i].a>>f[i].b;
sort(f+1,f+1+n,cmp);
for(int i=1; i<=n; i++)
{
if(z[f[i].b] == 0)
continue;
else
{
z[f[i].b]--;
ans+=f[i].a;
}
}
cout<<ans;
return 0;
}