#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, K;
  scanf("%d %d", &N, &K);
  static int a[5005];
  int i, j;
  static char b[200000005];
  for (i = 0; i < 200000005; i++) b[i] = 127;
  for (i = 0; i < N; i++) {
    scanf("%d", &(a[i]));
    for (j = 1; j <= K; j++) {
      b[j * a[i]] = (char)min((int)b[j * a[i]], j);
    }
  }
  b[0] = 0;
  int Q, iQ;
  scanf("%d", &Q);
  for (iQ = 0; iQ < Q; iQ++) {
    int S;
    scanf("%d", &S);
    int res = K + 1;
    for (i = 0; i < N; i++) {
      for (j = 0; j <= K; j++) {
        int rem = S - j * a[i];
        if (rem >= 0) {
          if ((j + (int)b[rem]) < res) res = j + (int)b[rem];
        }
      }
    }
    if (res > K)
      printf("-1\n");
    else
      printf("%d\n", res);
  }
}
