#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int SIZE = 1e6 + 10;
template <class T>
void maa(T& x, T y) {
  if (x < y) x = y;
}
template <class T>
void mii(T& x, T y) {
  if (x > y) x = y;
}
int main() {
  int n, k;
  scanf("%d%d", &n, &k);
  map<int, int> H;
  H[0] = 0;
  for (int i = 0; i < (n); ++i) {
    int(x);
    scanf("%d", &x);
    for (int j = (1); j < (k + 1); ++j) {
      if (H.count(x * j))
        mii(H[x * j], j);
      else
        H[x * j] = j;
    }
  }
  int(Q);
  scanf("%d", &Q);
  while (Q--) {
    int(x);
    scanf("%d", &x);
    int an = k + 1;
    for (map<int, int>::iterator it = H.begin();
         it != H.end() && it->first <= x; it++) {
      if (H.count(x - it->first)) mii(an, it->second + H[x - it->first]);
    }
    if (an == k + 1) an = -1;
    printf("%d\n", an);
  }
  return 0;
}
