#include<iostream>
#include<algorithm>
using namespace std;
int binarnap(int a[],int n,int x,int& min1,int& max1)
{

    int sred,i;
    while(max1-min1>4){
  
        sred=(min1+max1)/2;
        if(a[sred]==x)
            return sred;
        else if (a[sred]>x)
        {
            max1=sred-1;
        }
        else if(a[sred]<x)
        {
            min1=sred+1;
        }

    }
    while(min1<=max1)
    {
        if(a[min1]==x)
            return min1;
        if(a[min1]>x)
            break;
            
        min1++;
    }
    while(min1<=max1)
    {
        if(a[max1]<x)
        {
            return -1;
        }
            
        max1--;
    }
    return -1;
}
int main()
{
    int n,q;
    cin>>n>>q;
    int a[n],b[q],c[q];
    for(int i=0;i<n;i++)
        cin>>a[i];
    for(int i=0;i<q;i++)
        cin>>b[i];
    sort(a,a+n);
    for(int i=0;i<q;i++)
    {
        int min1=0;
        int max1=n-1;
        int k;
        k=binarnap(a,n,b[i],min1,max1);
        if(k==n/2)
                c[i]=0;
        else if(min1==n)
        {
            c[i]=n;
        }
        else if(min1==-1)
            c[i]=n+1;
        else if(k==-1)
        {
            max1=n-max1-1;

            if(max1 >min1)
                c[i]=max1-min1+1;
            else
            c[i]=min1-max1;
        }
        else if(k>-1)
        {
            
            int k1=n-k;
            c[i]=max(k,k1)-min(k,k1);
        }

    }
    for(int i=0;i<q;i++)
        cout<<c[i]<<" ";
    return 0;

}