#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  int n, k;
  cin >> n >> k;
  int A[5001];
  for (int(i) = 0; (i) < (n); (i)++) {
    cin >> A[i];
  }
  unordered_map<int, int> mm;
  mm[0] = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 1; j <= k; j++) {
      mm[j * A[i]] = min(mm[j * A[i]], j);
      if (mm[j * A[i]] == 0) mm[j * A[i]] = j;
    }
  }
  int q;
  cin >> q;
  for (int(i) = 0; (i) < (q); (i)++) {
    int val;
    cin >> val;
    int ans = 25;
    for (int j = 0; j < n; j++) {
      for (int l = 1; l <= k; l++) {
        if (mm.find(val - (l * A[j])) != mm.end())
          ans = min(ans, l + mm[val - (l * A[j])]);
      }
    }
    if (ans == 25)
      cout << -1 << endl;
    else if (ans > k)
      cout << -1 << endl;
    else
      cout << ans << endl;
  }
  return 0;
}
