#include <bits/stdc++.h>
int main() {
  std::ios::sync_with_stdio(false);
  int N, K;
  std::cin >> N >> K;
  std::map<int, int> sums;
  sums[0] = 0;
  for (auto i = 0; i < N; ++i) {
    int a;
    std::cin >> a;
    auto sum = 0;
    for (auto j = 1; j <= K; ++j) {
      sum += a;
      if (!sums.count(sum))
        sums[sum] = j;
      else if (sums.find(sum)->second > j)
        sums.find(sum)->second = j;
    }
  }
  int q;
  std::cin >> q;
  while (q--) {
    int qi;
    std::cin >> qi;
    int sol = 21;
    for (auto &sum : sums)
      if (sums.count(qi - sum.first)) {
        auto count1 = sum.second;
        auto count2 = sums[qi - sum.first];
        if (count1 + count2 < sol && count1 + count2 <= K)
          sol = count1 + count2;
      }
    if (sol == 21)
      std::cout << "-1\n";
    else
      std::cout << sol << '\n';
  }
  return 0;
}
