#include<iostream>
#include<queue>
using namespace std;
#define MAXN 9999999
int yon[MAXN],m,n,k=1,saq;
double s,tim[MAXN],v,sum;
int main()
{
priority_queue<int> magic;
cin>>m>>s>>v;
for(int i=1;i<=m;i++)
{
cin>>saq;
magic.push(saq);
}
cin>>n;
for(int i=1;i<=n;i++) cin>>tim[i];
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(sum/v>tim[i]) break;
sum+=magic.top();
magic.pop();
yon[i]++;
}
if(sum/v<=tim[i]) yon[i]=-1;
cout<<yon[i]<<endl;
}
return 0;
}