#include <istream>
#define MAX 200000
#include<algorithm>

using namespace std;

int main()
{
    int DuzinaGlasova,ScenarioGlasova, GlasIza, GlasIspred, Jednako ;
    int NizGlasova[MAX], ZamisljenBroj [MAX];
    cin>>DuzinaGlasova>>ScenarioGlasova;
    for(int i=0; i<DuzinaGlasova; i++)
        cin >> NizGlasova[i];

    for(int i=0; i<ScenarioGlasova; i++)
        cin >> ZamisljenBroj[i];
    sort(NizGlasova, NizGlasova + DuzinaGlasova);
    for(int i=0; i<ScenarioGlasova; i++)
    {
        int g;
        g=0;
        GlasIza=0;
        GlasIspred=0;
        Jednako=0;
        int i1=i;
        if ((DuzinaGlasova%2==0 && (NizGlasova[DuzinaGlasova/2-1]+NizGlasova[DuzinaGlasova/2])/2== ZamisljenBroj[i1]) || NizGlasova[DuzinaGlasova/2] == ZamisljenBroj[i1])
        {
            cout<<g<<endl;
        }
        else
        {
        for (int i=0; i<DuzinaGlasova; i++ )
        {if (NizGlasova[i]<ZamisljenBroj[i1])
            {
            GlasIza++;
            }
            else if (NizGlasova[i]==ZamisljenBroj[i1])
            {
            GlasIza++;
            Jednako++;
            }
            else
            break;

        }
         GlasIspred=DuzinaGlasova-GlasIza;

        if (GlasIspred==GlasIza)
        {
           g=1;
           cout<<g<<endl;

        }
        else if (GlasIspred>GlasIza)
        {

            g=(GlasIspred-GlasIza)+1;
            cout<<g<<endl;
        }
        else
        {
            float PretvaranjeFlouta =(NizGlasova[GlasIza-1-Jednako]+ ZamisljenBroj[i1])/2.0;
            if((PretvaranjeFlouta+0.5)==ZamisljenBroj[i1])
            {
                g=GlasIza-GlasIspred-Jednako;
            }
            else{
                g=GlasIza-GlasIspred+1-Jednako;
                cout<<g<<endl;
            }
        }
        }
        }


    return 0;
}