#include int ans[110]; int x[100010]; long long int count[6][100010],sum[6][100010]; int main() { int a,b; scanf("%d%d",&a,&b); for(int i=1;i<=a;i++) scanf("%d",&x[i]); for(int i=0;i<=x[a];i++) count[a][i] = 1; sum[a][0] = count[a][0]; for(int i=1;i<=b;i++) sum[a][i] = count[a][i] + sum[a][i-1]; for(int j=a-1;j>=0;j--) { for(int i=0;i<=b;i++) { int L = i-x[j]>0?i-x[j]:0; // L ~ i if(L==0) count[j][i] = sum[j+1][i]; else count[j][i] = sum[j+1][i] - sum[j+1][L-1]; } sum[j][0] = count[j][0]; for(int i=1;i<=b;i++) sum[j][i] = count[j][i] + sum[j][i-1]; } int c; scanf("%d",&c); while(c--) { long long int d; scanf("%lld",&d); if(d>count[1][b]) { printf("-1\n"); continue; } d--; int limit = b; for(int i=2;i<=a;i++) { int R = limit