using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Namestanje_glasanja
{
    internal class Program
    {
        static void SortirajNiz(ref long[] niz)
        {
            int l = 0, d = niz.Length - 1;
            while (l < d)
            {
                if (niz[l] % 2 == 0) l++;
                else
                {
                    if (niz[d] % 2 == 1) d--;
                    else
                    {
                        long pomoc = niz[l];
                        niz[l] = niz[d];
                        niz[d] = pomoc;
                        l++;
                        d--;
                    }
                }
            }
        }
        static float MedijanaParnogNiza(long[] niz) //pre ovoga cu znati da li mi je niz.Length paran ili neparan broj
        {
            return (niz[niz.Length / 2] + niz[niz.Length / 2 - 1]) / 2;
        }
        static float MedijanaNeparnogNiza(long[] niz)
        {
            return niz[niz.Length / 2];
        }
        static void Main(string[] args)
        {
            string[] brojevi = Console.ReadLine().Split();
            long N, Q;
            N = long.Parse(brojevi[0]);
            Q = long.Parse(brojevi[1]);
            long[] glasovi = new long[N];
            long[] scenariji = new long[Q];
            int[] ubaceniGlasovi = new int[Q];
            string[] unos = Console.ReadLine().Split();
            for (int i = 0; i < N; i++)
            {
                glasovi[i] = long.Parse(unos[i]);
            }
            unos = Console.ReadLine().Split();
            for (int i = 0; i < Q; i++)
            {
                scenariji[i] = long.Parse(unos[i]);
            }
            SortirajNiz(ref glasovi);
            float medijana;
            if (glasovi.Length % 2 == 0)
                medijana = MedijanaParnogNiza(glasovi);
            else
                medijana = MedijanaNeparnogNiza(glasovi);
            for (int i = 0; i < scenariji.Length; i++)
            {
                while (medijana != scenariji[i])
                {
                    Array.Resize(ref glasovi, glasovi.Length + 1);
                    glasovi[glasovi.Length - 1] = scenariji[i];
                    if (glasovi.Length % 2 == 0)
                        medijana = MedijanaParnogNiza(glasovi);
                    else
                        medijana = MedijanaNeparnogNiza(glasovi);
                    ubaceniGlasovi[i]++;
                }
            }
            for (int i = 0; i < ubaceniGlasovi.Length; i++)
            {
                Console.WriteLine(ubaceniGlasovi[i]);
            }
        }
    }
}