#include <bits/stdc++.h>

using namespace std;

const int maxN = 200001;

int a[maxN];
int b[maxN];

int main()
{
    int n, q, res;
    cin >> n >> q;
    int medi = n/2;
    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++){
        res = 0;
        int x = b[i];
        int veciJednak = lower_bound(a, a+n, x) - a;
        int prviVeci = upper_bound(a, a+n, x) - a;
        bool uNizu = binary_search(a, a+n, x);
        int brPon = prviVeci - veciJednak;


            //proverimo da li je on mozda medijana
            if(medi >= veciJednak && medi < prviVeci)
                res = 0;
            else{ //postoji, ali nije medijana
            //nalazi se sa leve strane medijane
                if(medi >= prviVeci){
                    //izjednacujem broj brojeva levo i desno u odnosu na poslednje ponavljanje x
                    int desno = n-prviVeci;
                    int levo = prviVeci-1;
                    res += desno-levo;
                }
            //nalazi se sa desne strane medijane
                if(veciJednak > medi){
                    int l = veciJednak;
                    int d = n-veciJednak-1;
                    res += l - d - 1;
                }
            }
        cout << res << endl;
        res = 0;
    }


    return 0;
}