#include <bits/stdc++.h>
using namespace std;
const int N = (int)(2e6) + 500;
pair<long long, int> sum1[N], sum[N];
int n, k;
int m = 0, m1 = 0;
int main() {
  sum[m++] = make_pair(0, 0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    int a;
    cin >> a;
    for (int j = 1; j <= k; j++) sum1[m1++] = make_pair((long long)a * j, j);
  }
  sort(sum1, sum1 + m1);
  for (int i = 0; i < m1; i++)
    if (i == 0 || (sum1[i].first != sum1[i - 1].first)) sum[m++] = sum1[i];
  int q;
  cin >> q;
  for (int t = 0; t < q; t++) {
    long long s;
    cin >> s;
    int l = 0, r = m - 1;
    int ans = (int)(1e9);
    while (l < m || r >= 0) {
      if (l == m) {
        if (sum[r].first == s) ans = min(ans, sum[r].second);
        r--;
      } else if (r == 0) {
        if (sum[l].first == s) ans = min(ans, sum[l].second);
        l++;
      } else if (sum[l].first + sum[r].first < s)
        l++;
      else if (sum[l].first + sum[r].first > s)
        r--;
      else if (sum[l].first + sum[r].first == s) {
        ans = min(ans, sum[l].second + sum[r].second);
        l++;
        r--;
      }
    }
    if (ans <= k)
      cout << ans << endl;
    else
      cout << "-1" << endl;
  }
  return 0;
}
