#include <bits/stdc++.h>
using namespace std;
int n, k, x[5005], q;
bool mam[11000000];
void solve(int s) {
  int ret = 10000;
  for (int i = 1; i <= n; i++) {
    for (int a = 0; a <= k && x[i] * a <= s; a++) {
      for (int b = 1; a + b <= k; b++)
        if ((s - a * x[i]) % b == 0 && (s - a * x[i]) / b < 11000000) {
          if (mam[(s - a * x[i]) / b]) ret = min(ret, a + b);
        }
    }
  }
  if (ret == 10000)
    printf("-1\n");
  else
    printf("%d\n", ret);
}
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) scanf("%d", &x[i]), mam[x[i]] = true;
  scanf("%d", &q);
  for (int i = 1; i <= q; i++) {
    int s;
    scanf("%d", &s);
    solve(s);
  }
  return 0;
}
