#include<bits/stdc++.h>
using namespace std;
int x,y;
int m,n;
int a[5001];
int t;
int f[5001];
struct Node {
int pre,id;
};
Node ch[5001];
int main() {
cin>>x>>y;
cin>>m>>n;
for(int i=1; i<=n; i++) {
int temp;
cin>>temp;
a[i]=temp*(y/x);
}
for(int i=1; i<=m; i++) {
cin>>ch[i].id>>ch[i].pre;
ch[i].id=a[ch[i].id];
}
cin>>t;
for(int i=1; i<=n; i++)
for(int j=t; j>=ch[i].id; j--)
f[j]=max(f[j-ch[i].id]+ch[i].pre,f[j]);
cout<<f[t];
return 0;
}