#include <bits/stdc++.h>

using namespace std;

int main()
{
    vector<int> v;
    int n,q;
    scanf("%d%d",&n,&q);
    for(int i=0;i<n;i++){
        int x;
        scanf("%d",&x);
        v.push_back(x);
    }
    sort(v.begin(),v.end());
    for(int i=0;i<q;i++){
        int q1;
        scanf("%d",&q1);
        vector<int>::iterator it = find(v.begin(),v.end(),q1);
        if(it!=v.end()){
            if (q1!=v[n/2]){
                int p=it-v.begin();
                if(p<n/2){
                    vector<int> vv={q1};
                    p = find_end(v.begin(),v.end(),vv.begin(),vv.end())-v.begin();
                    printf("%d\n",n-1-2*p);
                }else{
                    int r = p-1-(n-1-p);
                    if (r>0){
                        printf("%d\n",r);
                    }else{
                        printf("%d\n",0);
                    }
                }
            }else{
                printf("%d\n",0);
            }
        }else{
            vector<int> v1(v);
            v1.push_back(q1);
            sort(v1.begin(),v1.end());
            if (q1!=v1[(n+1)/2]){
                it = find(v1.begin(),v1.end(),q1);
                int p=it-v1.begin();
                if(p<(n+1)/2){
                    vector<int> vv={q1};
                    p = find_end(v1.begin(),v1.end(),vv.begin(),vv.end())-v1.begin();
                    printf("%d\n",(n+1)-2*p);
                }else{
                    int r = p-((n+1)-1-p);
                    if (r>0){
                        printf("%d\n",r);
                    }else{
                        printf("%d\n",0);
                    }
                }
            }else{
                printf("%d\n",1);
            }
        }
    }
}