#include <bits/stdc++.h>
using namespace std;
long long n,q;
long long niz1[200005],niz2[200005],ll,dd,desno,levo,medijana;
long long binarno(long long l, long long d, long long x)
{
    int mid=0;
    while (d>=l) {
        mid =(d+l)/2;
        if (niz1[mid]>=x)d=mid-1;
        else l=mid+1;
    }
    return d;
}
long long binarno1(long long l, long long d, long long x)
{
    int mid=0;
    while (d>=l) {

        mid =(d+l)/2;
        if (niz1[mid]>x)d=mid-1;
        else l=mid+1;
    }

    return l;
}
/*
5 3
1 3 5 7 9
5 7 10
*/
int main(){
    scanf("%d",&n);
    scanf("%d",&q);
    for(int i=1;i<=n;i++){
        scanf("%lld",&niz1[i]);
    }
    sort(niz1+1,niz1+1+n);
    for(int i=1;i<=q;i++){
        scanf("%lld",&niz2[i]);
    }
    for(int i=1;i<=q;i++){
        medijana=niz1[(n+1)/2];
        long long y=niz2[i];
        levo=binarno(1,n,y);
        desno=binarno1(1,n,y);
        long long docentralnih=levo;
        long long poslecentralnih=n-desno+1;
        long long centralne=n-docentralnih-poslecentralnih;
        long long resenje=0;
        if(centralne>0){
            if(medijana==niz2[i]){
                resenje=0;
            }
            else if(docentralnih+centralne<=poslecentralnih){
                resenje=poslecentralnih-centralne-docentralnih+1;
            }
            else {
                    resenje=docentralnih-centralne-poslecentralnih;

            }

        }
        else if(centralne==0){
           if(poslecentralnih==docentralnih){
                resenje=1;
           }
           else if(poslecentralnih>docentralnih){
            resenje=poslecentralnih-docentralnih+1;
           }
            else{
                resenje=docentralnih-poslecentralnih;

            }

        }
        cout<<resenje<<endl;
    }
return 0;
}