#include <bits/stdc++.h>   using namespace std;   const int N = 15000000, M = 5005;   int dp[N], n, k, a[M];   set<int> s[23];   int main() {     scanf( %d%d , &n, &k);     for (int i = 1; i <= n; i++) scanf( %d , a + i);     s[0].insert(0);     for (int i = 1; i <= k; i++)       for (int j = 1; j <= n; j++) s[i].insert(i * a[j]);     int q, x, ans;     for (scanf( %d , &q); q--;) {       scanf( %d , &x);       ans = -1;       for (int t = 1; t <= k && ans < 0; t++)         for (int i = 1; i <= n && ans < 0; i++) {           for (int j = 1; j <= t; j++)             if (s[t - j].find(x - j * a[i]) != s[t - j].end()) {               ans = t;               break;             }         }       printf( %d n , ans);     }     return 0;   }   