#include <bits/stdc++.h>
using namespace std;
int main() {
  cin.tie(0);
  cout.tie(0);
  vector<pair<int, int>> A(31), a;
  for (int i = 0; i < 31; i++) {
    A[i].first = 0;
    A[i].second = pow(2, i);
  }
  int n, k, t, sum, x;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> t;
    A[log2(t)].first++;
  }
  for (int i = 0; i < k; i++) {
    cin >> t;
    sum = 0;
    a = A;
    for (int j = 30; j >= 0 && t > 0; j--) {
      if (a[j].first && a[j].second <= t) {
        x = t / a[j].second;
        t -= x * a[j].second;
        a[j].first--;
        sum++;
        j++;
      }
    }
    (t > 0) ? printf("-1\n") : printf("%d\n", sum);
  }
}
