#include <bits/stdc++.h>
using namespace std;
const int N = 5e3 + 5;
const int M = 1e7 + 5;
const int mod = 1e9 + 7;
int n;
int k;
int ar[N];
int has[M];
int main() {
  scanf("%d%d", &n, &k);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &ar[i]);
    has[ar[i]] = 1;
  }
  int q;
  scanf("%d", &q);
  while (q--) {
    int sum;
    scanf("%d", &sum);
    int ans = 1e9;
    for (int i = 1; i <= n; i++) {
      long long A = ar[i];
      for (int x = 0; x <= k; x++) {
        if (sum < A * x) break;
        for (int y = 0; y + x <= k; y++) {
          if (y == 0) continue;
          long long B = (sum - A * x) / y;
          if (B > 1e7) continue;
          if (has[B] && A != B && (sum - A * x) % y == 0 &&
              A * x + B * y == sum) {
            ans = min(ans, x + y);
          }
        }
        if (sum - A * x == 0) {
          ans = min(ans, x);
        }
      }
    }
    if (ans == 1e9) ans = -1;
    printf("%d\n", ans);
  }
}
