#include <bits/stdc++.h>
using namespace std;
int n, m, j, i, h, l, k, q1, q2, a[100500], ans, ptr;
vector<pair<long long, int> > summ;
long long q;
void solve() {
  summ.resize(n * k + 1);
  summ.push_back(pair<int, int>(0, 0));
  scanf("%d%d", &n, &k);
  for (j = 1; j <= n; j++) {
    scanf("%d", &a[j]);
    for (i = 1; i <= k; i++) {
      summ.push_back(pair<int, int>(a[j] * i, i));
    }
  }
  sort(summ.begin(), summ.end());
  scanf("%d", &m);
  for (i = 1; i <= m; i++) {
    scanf("%I64d", &q);
    ans = 2000000000;
    ptr = summ.size() - 1;
    for (j = 0; j < summ.size() && summ[j].first <= (q >> 1); j++) {
      while (ptr > j && summ[ptr].first > (q - summ[j].first)) {
        ptr--;
      }
      while (ptr > j && summ[ptr].first == (q - summ[j].first)) {
        ans = min(summ[j].second + summ[ptr].second, ans);
        ptr--;
      }
    }
    if (ans > k) {
      printf("-1\n");
    } else {
      printf("%d\n", ans);
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  srand(333);
  solve();
  return 0;
}
