rt
#include <cstdio>
#define MAXN 100001
int n, l, v, q;
int a[2 * MAXN], t[2 * MAXN];
int main()
{
//freopen("endless.in", "r", stdin);
//freopen("endless.out", "w", stdout);
scanf("%d%d%d\n", &n, &l, &v);
for (register int i = 0; i < n; ++i)
scanf("%d", &a[i]);
scanf("%d", &q);
for (register int i = 0; i < q; ++i)
scanf("%d", &t[i]);
const long double YEARS = (long double) l / v;
long double years = YEARS;
bool found = false;
for (register int i = 0; i < q; ++i)
{
found = false;
for (register int j = 0; j < n; ++j)
{
if (years >= t[i])
{
printf("%d\n", j);
years = YEARS;
found = true;
break;
}
years += (long double) a[j] / v;
}
if (!found)
{
years = YEARS;
printf("-1\n");
}
}
fclose(stdin);
fclose(stdout);
return 0;
}