#include<bits/stdc++.h>
using namespace std;
int n,m,k,kz[10001],a[20001],b[20001],cnt,flag[10001],flag2[10001];
bool cmp(int x,int y)
{
return x>y;
}
int main()
{
cin>>n>>m>>k;
for(int i=1;i<=k;i++)
{
cin>>kz[i];
}
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
flag[a[i]]=b[i];
cout<<flag[a[i]]<<endl;
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
if(flag2[flag[a[j]]]<=kz[flag2[flag[a[j]]]])
{
cnt+=a[j];
flag2[flag[a[j]]]++;
}
}
}
cout<<cnt;
return 0;
}