#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 1;
int n, a[N], q, k;
vector<int> f[21];
map<int, int> d;
void solve() {
  cin >> n >> k;
  for (int i = 1; i <= n; ++i) cin >> a[i];
  for (int i = 1; i <= k; ++i) {
    for (int j = 1; j <= n; ++j) {
      int tmp = a[j] * i;
      if (d[tmp]) continue;
      d[tmp] = i;
    }
  }
  cin >> q;
  while (q--) {
    int val, ans = k + 1;
    cin >> val;
    for (int i = 1; i <= n; ++i) {
      for (int j = 1; j <= k; ++j) {
        if (a[i] * j > val) break;
        if (a[i] * j == val)
          ans = min(ans, j);
        else {
          int tmp = d[val - a[i] * j];
          if (tmp) ans = min(ans, j + tmp);
        }
      }
    }
    if (ans > k)
      cout << -1 << '\n';
    else
      cout << ans << '\n';
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  solve();
  return 0;
}
