#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, k;
  cin >> n >> k;
  map<int, int> hs;
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    for (int j = 1; j <= k; j++) {
      if (hs[a[i] * j] == 0) {
        hs[a[i] * j] = j;
      } else {
        hs[a[i] * j] = min(hs[a[i] * j], j);
      }
    }
  }
  int q;
  cin >> q;
  for (int i = 0; i < q; i++) {
    int x;
    cin >> x;
    int ans = 100;
    for (int j = 0; j < n; j++) {
      for (int kj = 1; kj <= k; kj++) {
        if (x == kj * a[j]) {
          ans = min(ans, kj);
        } else if (hs[x - kj * a[j]] != 0 && hs[x - kj * a[j]] <= k - kj) {
          ans = min(ans, kj + hs[x - kj * a[j]]);
        }
      }
    }
    if (ans == 100) {
      cout << -1 << endl;
    } else {
      cout << ans << endl;
    }
  }
}
