#include <bits/stdc++.h>
using namespace std;
void optimizeIO() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
}
int main() {
  optimizeIO();
  long long n, q, a;
  cin >> n >> q;
  set<long long> arr;
  for (int i = 0; i < n; i++) {
    cin >> a;
    arr.insert(a);
  }
  vector<long long> bin(36, 0);
  for (int i = 0; i < 36; i++) {
    if (arr.find((1 << i)) != arr.end()) bin[i] = 1;
  }
  for (int i = 0; i < q; i++) {
    cin >> a;
    bool flag = true;
    long long cnt = 0;
    for (int i = 0; i < 36; i++) {
      if (a & (1 << i)) {
        if (bin[i] != 1) {
          flag = false;
          break;
        } else {
          cnt++;
        }
      }
    }
    if (!flag)
      cout << -1 << endl;
    else
      cout << cnt << endl;
  }
  return 0;
}
