#include <bits/stdc++.h>
using namespace std;
const long long int MAXN = (5010);
const long long int MINN = 1e2;
const long long int inf = 1e18 + 10;
int n, q;
vector<int> a(31);
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin.exceptions(cin.failbit);
  cin >> n >> q;
  for (int i = 0; i < (n); ++i) {
    int x;
    cin >> x;
    int y = log(x) / log(2);
    ++a[y];
  }
  while (q--) {
    int x, ans = 0;
    cin >> x;
    for (int i = 30; i >= (0); --i) {
      int y = pow(2, i);
      int z = min(x / y, a[i]);
      x -= (z * y);
      ans += z;
    }
    if (x > 0) ans = -1;
    cout << ans << endl;
  }
  cout << endl;
  return 0;
}
