#include <bits/stdc++.h>
using namespace std;
int a[5050];
int n, k;
map<int, int> m;
int main() {
  cin >> n >> k;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    m[a[i]] = 1;
  }
  int q, money, ans;
  cin >> q;
  for (int i = 1; i <= q; i++) {
    ans = 1e9;
    cin >> money;
    for (int j = 1; j <= n; j++) {
      if (money % a[j] == 0) {
        ans = money / a[j];
      }
      if (a[j] > money) continue;
      for (int d1 = 1; d1 <= k; d1++) {
        if (money - d1 * a[j] <= 0) break;
        for (int d2 = 1; d1 + d2 <= k; d2++) {
          if ((money - d1 * a[j]) % d2 == 0 &&
              m.count((money - d1 * a[j]) / d2)) {
            ans = min(ans, d1 + d2);
          }
        }
      }
    }
    if (ans > k) {
      cout << "-1" << endl;
    } else {
      cout << ans << endl;
    }
  }
  return 0;
}
