#include <bits/stdc++.h>
using namespace std;
int main(void) {
  ios_base::sync_with_stdio(false);
  int n, k, q;
  cin >> n >> k;
  vector<int> xs(n);
  for (int i = 0; i < n; i++) cin >> xs[i];
  reverse(xs.begin(), xs.end());
  cin >> q;
  for (int p = 0; p < q; p++) {
    int need;
    cin >> need;
    int ans = 1000;
    for (int cnt1 = 1; cnt1 <= k; cnt1++) {
      for (int i = 0; i < n; i++) {
        int ost = need - cnt1 * xs[i];
        if (ost < 0) continue;
        if (ost == 0)
          ans = min(ans, cnt1);
        else {
          for (int cnt2 = 1; cnt2 <= k - cnt1; cnt2++) {
            if (ost % cnt2 == 0) {
              if (binary_search(xs.rbegin(), xs.rend(), ost / cnt2))
                ans = min(ans, cnt1 + cnt2);
            }
          }
        }
      }
    }
    if (ans == 1000)
      cout << -1 << endl;
    else
      cout << ans << endl;
  }
  return 0;
}
