#include <bits/stdc++.h>

using namespace std;

vector <int> a;


int main()
{
    int n, q;
    cin>>n>>q;
    int med,zeli,tren,raz;
    for (int i=0;i<n;i++)
    {
        cin>>tren;
        a.push_back(tren);
    }
    sort (a.begin(),a.end());
    for (int k=0;k<q;k++)
    {
        cin>>zeli;
        if (n%2==0)
        {
            int pozicija=n/2;
            int med=a[n/2];
            if (zeli==med)
            {
                cout<<"0"<<endl;
            }
            else if (zeli>med)
            {
                if (binary_search(a.begin(), a.end(), zeli))
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin();
                    raz=2*prvo_ponavljanje-a.size();
                    cout<<raz<<endl;
                }
                else
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=2*prvo_ponavljanje-a.size()+2+1 -1;
                    cout<<raz<<endl;
                }
            }
            else if (zeli<med)
            {
                if (binary_search(a.begin(), a.end(), zeli))
                {
                    int poslednje_ponavljanje=upper_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=a.size()-2*poslednje_ponavljanje-1;
                    cout<<raz<<endl;
                }
                else
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=a.size() - 2*prvo_ponavljanje -2+1;
                    cout<<raz<<endl;
                }
            }

        }
        else
        {
            int pozicija=(n-1)/2;
            int med=a[(n-1)/2];
            if (zeli==med)
            {
                cout<<"0"<<endl;
            }
            else if (zeli>med)
            {
                if (binary_search(a.begin(), a.end(), zeli))
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin();
                    raz=2*prvo_ponavljanje-a.size();
                    cout<<raz<<endl;
                }
                else
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=2*prvo_ponavljanje-a.size()+2+1 -1;
                    cout<<raz<<endl;
                }
            }
            else if (zeli<med)
            {
                if (binary_search(a.begin(), a.end(), zeli))
                {
                    int poslednje_ponavljanje=upper_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=a.size()-2*poslednje_ponavljanje-1;
                    cout<<raz<<endl;
                }
                else
                {
                    int prvo_ponavljanje=lower_bound(a.begin(), a.end(), zeli)- a.begin()-1;
                    raz=a.size() - 2*prvo_ponavljanje -2+1;
                    cout<<raz<<endl;
                }
            }

        }
    }
}