#include <bits/stdc++.h>
using namespace std;
  int n,q,a[200005],b[200005],me,b1,p,s,l,d,r,le;
  map <int,int> m;
int bp(int l, int d){
    while(l!=d){
        s=(l+d)/2;
        if(b1==a[s]){
            return s;
        }
        else if (b1>a[s])
            l=s+1;
        else{
            d=l-1;
        }
    }
    return 0;
}
void setq(){
    cin >> b1;
    if(a[me]>b1){
        l=1;
        d=me;
    }
    else{
        l=me;
        d=n;
    }
    p=bp(l,d);
    if(p==0){
        if(b1>a[n]){
            cout << b1-(b1-n) << endl;
        }
        else if(b1<a[1]){
            cout << n << endl;
        }
    }
    else{
        r=n-p;
        le=p-1;
        if(le>r){
            cout << le-r-1 << endl;
        }
        else{
            cout << r-le-1 << endl;
        }
    }
}
void set2(){
    for(int i=1; i<=q; i++){
        cin >> b1;
        if(b1==a[me]){
            cout << "0" << endl;
            continue;
        }
        if(a[me]>b1){
            l=1;
            d=me;
        }
        else{
            l=me;
            d=n;
        }
        p=bp(l,d);
        r=n-p;
        le=p-1;
        if(le>r){
            cout << le-r-1 << endl;
        }
        else{
            cout << r-le-1 << endl;

        }
    }
}
int main(){
  cin >> n >> q;
  for(int i=1; i<=n; i++){
    cin >> a[i];
  }
  sort(a+1,a+n+1);
    me=(n/2)+1;
  if(q==1){setq();}
  else{set2();}
  return 0;
}