#include<bits/stdc++.h>
using namespace std;
int n,m,e[100001],c;
struct node{
int k;
int l;
}a[100001];
bool cmp(node x,node y){
if(x.l!=y.l) return x.l<y.l;
return x.k>y.k;
}
int main(){
cin>>n>>m>>c;
for(int i=1;i<=c;i++) cin>>e[i];
for(int i=1;i<=n;i++) cin>>a[i].k>>a[i].l;
sort(a+1,a+n+1,cmp);
long long s;
for(int i=1;i<=n;i++){
if(e[a[i].l]!=0&&m!=0){
m-=1;
s+=a[i].k;
e[a[i].l]-=1;
}
}
cout<<s;
return 0;
}