#include <bits/stdc++.h>
using namespace std;
int a[10000005];
int main() {
  int m, n, k, q, j;
  scanf("%d%d", &n, &k);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a[i]);
  }
  scanf("%d", &q);
  int flag = 0;
  while (q--) {
    scanf("%d", &m);
    int ans = k + 1;
    for (int i = 1; i <= k; i++) {
      for (int j = 0; j < n; j++) {
        for (int l = 1; l <= i; l++) {
          int left = 0;
          int right = n;
          while (left <= right) {
            int mid = (left + right) / 2;
            if (a[j] * l + a[mid] * (i - l) == m) {
              ans = min(ans, i);
              break;
            } else if (a[j] * l + a[mid] * (i - l) > m)
              right = mid - 1;
            else
              left = mid + 1;
          }
        }
      }
    }
    if (ans > k)
      printf("-1\n");
    else
      printf("%d\n", ans);
  }
  return 0;
}
