#include <bits/stdc++.h>
#define pb push_back
using namespace std;
vector<int> a;
int n;

bool exs(int x){
	int l=0;
	int r=n-1;
	while(l<=r){
		int s=(l+r)/2;
		if(a[s]==x){
			return true;
		}
		else if(a[s]<x){
			l=s+1;
		}
		else if(a[s]>x){
			r=s-1;
		}
	}
	return false;
}
int findl(int x){
	int l=0;
	int r=n-1;
	int ret=n-1;
	while(l<=r){
		int s=(l+r)/2;
		if(a[s]==x){
			ret=min(ret, s);
			r=s-1;
		}
		else if(a[s]>x){
			r=s-1;
		}
		else if(a[s]<x){
			l=s+1;
		}
	}
	return ret;
}
int findr(int x){
	int l=0;
	int r=n-1;
	int ret=0;
	while(l<=r){
		int s=(l+r)/2;
		if(a[s]==x){
			ret=max(ret, s);
			l=s+1;
		}
		else if(a[s]>x){
			r=s-1;
		}
		else if(a[s]<x){
			l=s+1;
		}
	}
	return ret;
}
int gde(int x){
	if(x>a[n-1]){
		return n;
	}
	else if(x<a[0]){
		return 0;
	}
	else{
		int l=0;
		int r=n-2;
		while(l<=r){
			int s=(l+r)/2;
			if(a[s]>x){
				r=s-1;
			}
			else if(a[s+1]<x){
			 	l=s+1;
			}
			else{
				return s+1;
			}
		}
	}
}
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int q;
	cin >> n >> q;
	for(int i=0; i< n; i++){
		int lol;
		cin >> lol;
		a.pb(lol);
	}
	sort(a.begin(), a.end());
	while(q--){
		int x;
		cin >> x;
		if(exs(x)){
			int l=findl(x);
			int r=findr(x);
			if(n/2>=l && n/2<=r){
				cout << 0 << '\n';
			}
			else{
				if(n/2>r){
					if(n%2==0){
						cout << 2*(n/2-r)-1<<'\n';
					}
					else cout << 2*(n/2-r) << '\n';
				}
				else if(n/2<l){
					if(n%2==0){
						cout << 2*(l-n/2)<< '\n';
					}
					else cout << 2*(l-n/2)-1 << '\n';
				}
			}
		}
		else{
			int ind=gde(x);
			int med=(n+1)/2;
			if(ind==med){
				cout << 1 << '\n';
			}
			else{
				if(ind>med){
					if((n+1)%2==0){
						cout << 2*(ind-med)+1<< '\n';
					}
					else{
						cout << 2*(ind-med)<<'\n';
					}
				}
				else{
					if((n+1)%2==0){
						cout << 2*(med-ind) << '\n';
					}
					else cout << 2*(med-ind) +1 << '\n';
				}
			}
		}
	}
}