#include<bits/stdc++.h>
using namespace std;
struct e{
int a;
int b;
}x[10000000];
bool cmp(e i,e j)
{
return i.a<j.a;
}
int c[100000];
int c2[100000];
int main()
{
int n,m,k,ans=0;
scanf("%d%d%d",&n,&m,&k);
for(int i=1;i<=k;i++)
{
scanf("%d",c+i);
}
for(int i=1;i<=n;i++)
{
scanf("%d%d",&x[i].a,&x[i].b);
}
for(int i=1;i<=k;i++)
{
c2[i]=0;
}
sort(x+1,x+n+1,cmp);
for(int i;i<=k;i++)
{
for(int j=n;j>=1;j--)
{
if(x[j].b==i)
{
ans+=x[j].a;
c2[i]++;
}
if(c2[i]==c[i])
{
j=0;
}
}
}
printf("%d",ans);
}