#include <bits/stdc++.h>
using namespace std;
const int N = 1e7 + 10;
const int INF = 1e9 + 7;
int a[5555];
set<int> pres[22];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  int n, K;
  cin >> n >> K;
  for (int i = (0); i < (n); i++) {
    cin >> a[i];
    for (int j = (0); j < (K); j++) pres[j].insert(a[i] * j);
  }
  int q;
  cin >> q;
  while (q--) {
    int x;
    cin >> x;
    int ans = INF;
    for (int k1 = 0; k1 <= K; k1++) {
      for (int k2 = 0; k1 + k2 <= K; k2++) {
        for (int i = 0; i < n; i++) {
          int g = x - a[i] * k1;
          if (pres[k2].find(g) != pres[k2].end()) {
            ans = min(ans, k1 + k2);
          }
        }
      }
    }
    if (ans == INF) ans = -1;
    cout << ans << "\n";
  }
  return 0;
}
