#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
#define all(x) x.begin(), x.end()
#define dbg(x) cout << (x) << "\n"
string s;

int main(){
	ll n, q, i, j, poz = -1, raz, k = -1, target;
	cin >> n >> q;
	ll clan = n;
	ll arr[n];

	for(i = 0; i < n; i++){
		cin >> arr[i];
	}

	sort(arr, arr + n);

	while(q--){
		i = j = 0;
		raz = poz = -1;
		k = -1;
		n = clan;
		cin >> target;

		// provera da li postoji
		while (i < n)
		{
			if (arr[i] == target) {
				raz = poz = i;
				break;
			}
			i++;
		}

		// ako postoji
		if(poz != -1){
			// ako je u sredini
			if(i == n){
				k = n - 1;
			} else if((n % 2 == 1 && poz == (n / 2)) || (n % 2 == 0 && poz == (n / 2) + 1)){
				k = 0;
			}
			// ako je blizi desno 
			else if(n - 1 - poz < raz){
				raz = n - 1 - poz;
				k = poz - 1 - raz;
			}
			// ako je blizi levo
			else{
				k = n - (2 * poz) - 1;
			}
		}
		else{

			// ako ne postoji
			i = 0;
			while(i < n && target > arr[i]){
				i++;
			}
			raz = poz = i;
			n++;
			
			if(i == n - 1){
				k = n - 1;
			} else if((n % 2 == 1 && poz == (n / 2) + 1) || (n % 2 == 0 && poz == (n / 2))){
				k = 0;
			}
			// ako je blizi desno 
			else if(n - 1 - poz < raz){
				raz = n - 1 - poz;
				k = poz - 1 - raz;
			}
			// ako je blizi levo
			else{
				k = n - (2 * poz) - 1;
			}

		}
		dbg(k);
	}

	return 0;
}