#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int n, q;
  cin >> n >> q;
  long long int a[n], i, j;
  map<long long int, long long int> m;
  vector<long long int> v;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    if (!m[a[i]]) {
      v.push_back(a[i]);
    }
    m[a[i]]++;
  }
  sort(v.begin(), v.end());
  while (q--) {
    long long int x, f = 1;
    cin >> x;
    long long int k = x, c = 0;
    for (j = v.size() - 1; j >= 0; j--) {
      if (v[j] <= k) {
        if ((k / v[j]) * v[j] < m[v[j]] * v[j]) {
          c += (k / v[j]);
          k -= (k / v[j]) * v[j];
        } else {
          c += m[v[j]];
          k -= m[v[j]] * v[j];
        }
      }
    }
    if (!k)
      cout << c << endl;
    else
      cout << -1 << endl;
  }
}
