#include <bits/stdc++.h>
using namespace std;
int n, k;
const int N = 1e7 + 100;
bool a[N];
int main() {
  cin >> n >> k;
  vector<long long> v(n);
  for (int i = 0; i < n; i++) {
    cin >> v[i];
    a[v[i]] = 1;
  }
  int q;
  cin >> q;
  for (int test = 0; test < q; test++) {
    long long w;
    int ans = 1000;
    cin >> w;
    for (int t = 1; t <= k; t++) {
      for (int i = 0; i < n; i++) {
        long long rem = w - t * v[i];
        if (rem < 0) continue;
        if (rem == 0) ans = min(ans, t);
        for (int e = 1; t + e <= k; e++) {
          if (rem % e != 0) continue;
          long long x = rem / e;
          if (x >= N) continue;
          if (a[x]) ans = min(e + t, ans);
        }
      }
    }
    if (ans != 1000)
      cout << ans;
    else
      cout << -1;
    cout << "\n";
  }
  return 0;
}
