using System;
using System.Linq;
using System.Collections.Generic;


class Program
{
    public static int[] Pretraga(int[] niz, int trazeno)
    {
        int donje = 0;
        int gornje = niz.Length - 1;
        int mid = 0;
        int[] vracanje = new int[2];
        vracanje[0] = mid;
        vracanje[1] = niz.Length;
        while (donje <= gornje)
        {
            mid = (donje + gornje) / 2;
            if (trazeno == niz[mid])
            {
                int medijana = (niz.Length / 2) + 1;
                if(mid + 1 > medijana)
                {
                    while (niz[mid] == trazeno)
                    {
                        mid--;
                    }
                    mid++;
                    vracanje[0] = mid;
                }
                else
                {
                    while (niz[mid] == trazeno)
                    {
                        mid++;
                    }
                    mid--;
                    vracanje[0] = mid;
                }
                break;
            }
            else if (trazeno < niz[mid])
            {
                gornje = mid - 1;
                if (donje > gornje)
                {
                    vracanje[0] = mid;
                    vracanje[1]++;
                }
                    
            }
            else
            {
                donje = mid + 1;
                if (donje > gornje)
                {
                    mid++;
                    vracanje[0] = mid;
                    vracanje[1]++;
                }
                    
                
            }
        }
        return vracanje;
    }
    static void Main()
    
    {
        var linija1 = Console.ReadLine().Split(" ");
        var linija2 = Console.ReadLine().Split(" ");
        var linija3 = Console.ReadLine().Split(" ");
        
        int N = int.Parse(linija1[0]);
        int Q = int.Parse(linija1[1]);
        int[] A = new int[N];
        //int[] B = new int[Q];
        int[] Resenja = new int[Q];
        for (int i = 0; i < N; A[i] = int.Parse(linija2[i]), i++);
        Array.Sort(A);
        for (int i = 0; i < Q; i++)
        {
            int trazeno = int.Parse(linija3[i]);
            int[] rezultati = Pretraga(A, trazeno);
            int index = rezultati[0] + 1;
            int duzina = N;
            int brojac = 0;
            if (rezultati[1] > duzina)
            {
                duzina++;
                brojac++;
            }
            int medijana = (duzina / 2) + 1;
            if(index == medijana)
            {
                brojac += 0;
            }
            else if(index > medijana)
            {
                brojac += (2 * index) - duzina - 2;
                int izraz; int izraz2;
                if(duzina > N)
                {
                   izraz = ((duzina + brojac - 1) / 2) + 1;
                   izraz2 = ((duzina + brojac - 2) / 2) + 1;
                }
                else
                {
                    izraz = ((duzina + brojac) / 2) + 1;
                    izraz2 = ((duzina + brojac - 1) / 2) + 1;
                }
                if (izraz2 == index)
                {
                    brojac--;
                }
                else if (izraz != index && izraz2 != index)
                {
                        brojac++;
                }
            }
            else
            {
                brojac += duzina - (2 * index) + 2;
                int    izraz = ((duzina + brojac) / 2) + 1;
                int    izraz2 = ((duzina + brojac - 1) / 2) + 1;
                if (izraz2 == index + brojac - 1)
                {
                    brojac--;
                }
                else if (izraz != index + brojac - 1 && izraz2 != index + brojac - 1)
                {
                    brojac++;
                }
            }
            Resenja[i] = brojac;
        }
        foreach(int x in Resenja)
        {
            Console.WriteLine(x);
        }

    }
}