#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const int OO = (int)1e6;
const int N = (int)1e7;
void init() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
}
int a[35];
int main() {
  int n, q;
  scanf("%d%d", &n, &q);
  int x;
  for (int i = 0; i < n; i++) {
    scanf("%d", &x);
    a[(int)log2(x)]++;
  }
  int b;
  while (q--) {
    scanf("%d", &b);
    queue<int> ans;
    while (b) {
      int x = b & 1;
      ans.push(x);
      b >>= 1;
    }
    int i = 0;
    int cnt = 0;
    bool f = true;
    while (!ans.empty()) {
      if (ans.front()) {
        if (!a[i]) {
          if (a[i - 1] >= 2 && (i - 1)) {
            cnt += 2;
          } else {
            puts("-1");
            f = false;
            break;
          }
        } else {
          cnt++;
        }
      }
      i++;
      ans.pop();
    }
    if (f) printf("%d\n", cnt);
  }
  return 0;
}
