#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, k, m, a[5045];
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  long long ans, x, q, i, j, j1;
  cin >> q;
  while (q--) {
    cin >> x;
    ans = 1e9;
    for (i = 1; i <= n; i++) {
      for (j = 0; j <= k; j++) {
        if (j * a[i] == x) ans = min(ans, j);
        for (j1 = 1; j1 <= k - j; j1++) {
          if ((x - j * a[i]) % j1 == 0 &&
              binary_search(a + 1, a + n + 1, (x - j * a[i]) / j1)) {
            ans = min(ans, j1 + j);
          }
        }
      }
    }
    if (ans <= k)
      cout << ans << "\n";
    else
      cout << "-1\n";
  }
}
