#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int funk(vector<int> v, int x)
{
    sort(v.begin(), v.end());
    bool sastojiSe = false;
    int p; // pozicija ako se taj broj sastoji
    for(int i = 0; i < v.size(); i++)
        if(v[i] == x)
        {
            sastojiSe = true;
            p = i;
        }

    int levo, desno;

    if(sastojiSe)
    {
        levo = p;
        desno = v.size() - p - 1;

        if(levo == desno)
            return 0;
        else if(levo > desno)
            return levo - desno - 1;
        else if(levo < desno)
            return desno - levo;
    }
    else
    {
        v.insert(upper_bound(v.begin(), v.end(), x), x);
        for(int i = 0; i < v.size(); i++)
            if(v[i] == x)
                p = i;

        levo = p;
        desno = v.size() - p - 1;

        if(levo == desno)
            return 1;
        else if(levo > desno)
            return levo - desno;
        else if(levo < desno)
            return desno - levo + 1;
    }
    return -1;
}

int main()
{
    int N, Q;

    cin >> N >> Q;
    vector<int> A(N);

    for(int i = 0; i < N; i++)
        cin >> A[i];
    
    for(int i = 0; i < Q; i++)
    {
        int x;
        cin >> x;
        cout << funk(A, x) << endl;
    }
}