#include<bits/stdc++.h>
using namespace std;
struct Node{
int Fat_content,Serial_No;
}Food[205];
int n,m,k,Food_type[105];
bool cmp(Node x,Node y){
return x.Fat_content>y.Fat_content;
}
int main(){
cin >> n >> m >> k;
for(int i=1;i<=k;i++){
cin >> Food_type[i];
}
for(int i=1;i<=n;i++){
cin >> Food[i].Fat_content >> Food[i].Serial_No;
}
stable_sort(Food+1,Food+n+1,cmp);
int Ans=0,Biggest=0;
for(int i=1;i<=k;i++){
int Numbers=0;
for(int j=1;j<=n;j++){
if(Food[j].Serial_No==i&&Numbers<Food_type[i]&&Biggest<m){
Numbers++;
Ans+=Food[j].Fat_content;
Biggest++;
}
}
}
cout << Ans;
return 0;
}