#include <bits/stdc++.h>
using namespace std;
int n, q, j, ans, i, mx, a[32], c[32];
void did(int l) {
  int p;
  for (j = 30; l; j--) {
    if (l >= pow(2, j)) {
      p++;
      l -= pow(2, j);
      if (a[j] >= p) {
        ans += p;
        p = 0;
      } else {
        ans += a[j];
        p -= a[j];
        p *= 2;
      }
    }
  }
  if (p) {
    cout << -1 << endl;
  } else {
    cout << ans;
  }
}
int main() {
  cin >> n >> q;
  for (i = 1; i <= n; i++) {
    int k;
    int l = 0;
    cin >> k;
    l = log2(k);
    a[l]++;
  }
  for (i = 1; i <= q; i++) {
    int k;
    ans = 0;
    cin >> k;
    did(k);
  }
}
