#include <bits/stdc++.h>   using namespace std;   int ar[11000111];   int el[5100];   int q, x, k, n;   long long t;   int min(int a, int b) {     if (a < b) {       return a;     }     return b;   }   int main() {     scanf( %d , &n);     scanf( %d , &k);     for (int i = 0; i < n; ++i) {       scanf( %d , &x);       ar[x] = 1;       el[i] = x;     }     scanf( %d , &q);     for (int qq = 0; qq < q; ++qq) {       scanf( %I64d , &t);       int ans = 100;       for (int i = 0; i < n; ++i) {         for (int j = 0; j < k + 1; ++j) {           long long temp = t - el[i] * j;           if (temp > 0) {             for (int l = 1; l <= k - l + 1; ++l) {               if (temp % l == 0 && temp / l <= 10111000 && ar[temp / l] == 1) {                 ans = min(ans, l + j);               }             }           }         }       }       if (ans <= k) {         printf( %d n , ans);       } else {         printf( -1 n );       }     }     return 0;   }   