#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n ,q ;
    cin >> n >> q ;
    int gl[n] ;
    int med ;
    for(int i=0 ; i<n ; i++){
        cin >> gl[i] ;
    }
    sort(gl,gl+n) ;
    for(int i=0 ; i<q ; i++){
        cin >> med ;
        int r=1000000 ;
        int a=upper_bound(gl,gl+n,med)-gl-1 ;
        int a1=lower_bound(gl,gl+n,med)-gl-1 ;
        if(a==-1){
            a=0 ;
            a1=0 ;
        }
        for(int j=min(a1+1,a) ; j<=a ;j++){
            if(j<n/2){
                r=min(max(j,n-j-1)-min(j,n-j-1)+1,r) ;
            }
            else{
                if(j==a && gl[j]!=med){
                r=min(max(j,n-j-1)-min(j,n-j-1),r) ;
                }
                else{
                r=min(max(j,n-j-1)-min(j,n-j-1)-1,r) ;
                }
            }
        }
        if(binary_search(gl,gl+n,med)){
            cout << max(r,0) << endl;
        }
        else{
            cout << max(r+1,0) << endl ;
        }


    }
    return 0;
}