#include <bits/stdc++.h>
using namespace std;
int arr[5005];
map<int, int> m;
int main() {
  ios_base::sync_with_stdio(0);
  int n, k, q, x;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> arr[i];
    long long temp = arr[i];
    for (int j = 1; j <= k; j++) {
      if (temp > 2 * 1e8) break;
      if (m.find(temp) == m.end())
        m[temp] = j;
      else
        m[temp] = min(m[temp], j);
      temp += arr[i];
    }
  }
  cin >> q;
  while (q--) {
    cin >> x;
    int res = 50000;
    for (int i = 0; i < n; i++) {
      long long temp = arr[i];
      for (int j = 1; j <= k; j++) {
        if (temp > x) break;
        if (temp == x) {
          res = min(res, j);
          break;
        }
        int tmp = x - temp;
        if (m.find(tmp) != m.end()) res = min(res, m[tmp] + j);
        temp += arr[i];
      }
    }
    if (res > k)
      cout << "-1\n";
    else
      cout << res << "\n";
  }
  return 0;
}
