using System;
using System.Collections.Generic;

public class Program
{
    public static void NamestiGlasanje(int n, int q, List<int> glasovi, List<int> trazeniBrojevi)
    {
        glasovi.Sort();
        for (int i = 0; i < trazeniBrojevi.Count; i++)
        {
            if (glasovi.Contains(trazeniBrojevi[i]))
            {
                if (glasovi[n / 2] == trazeniBrojevi[i])
                {
                    Console.WriteLine("0");
                    continue;
                }

                int levoElementi;
                if (Math.Abs(glasovi.IndexOf(trazeniBrojevi[i]) - (n / 2 + 1)) < Math.Abs(glasovi.LastIndexOf(trazeniBrojevi[i])) - (n / 2 + 1))
                    levoElementi = glasovi.IndexOf(trazeniBrojevi[i]);
                else
                    levoElementi = glasovi.LastIndexOf(trazeniBrojevi[i]);
                int desnoElementi = glasovi.Count - levoElementi - 1;

                if (levoElementi > desnoElementi)
                    Console.WriteLine(levoElementi - desnoElementi - 1);
                else
                    Console.WriteLine(desnoElementi - levoElementi);
            }
            else
            {
                List<int> glasoviTemp = glasovi;
                glasoviTemp.Add(trazeniBrojevi[i]);
                glasoviTemp.Sort();

                int levoElementi;
                if (Math.Abs(glasoviTemp.IndexOf(trazeniBrojevi[i]) - (n / 2 + 1)) < Math.Abs(glasoviTemp.LastIndexOf(trazeniBrojevi[i])) - (n / 2 + 1))
                    levoElementi = glasoviTemp.IndexOf(trazeniBrojevi[i]);
                else
                    levoElementi = glasoviTemp.LastIndexOf(trazeniBrojevi[i]);

                int desnoElementi = glasoviTemp.Count - levoElementi - 1;

                if (levoElementi > desnoElementi)
                    Console.WriteLine(levoElementi - desnoElementi);
                else
                    Console.WriteLine(desnoElementi - levoElementi + 1);
            }
        }
    }
    public static void Main()
    {
        string[] unosPrvi = Console.ReadLine().Split();

        int n = int.Parse(unosPrvi[0]);
        int q = int.Parse(unosPrvi[1]);

        string[] A = Console.ReadLine().Split();
        string[] B = Console.ReadLine().Split();

        List<int> glasovi = new List<int>();
        for (int i = 0; i < n; i++)
            glasovi.Add(int.Parse(A[i]));

        List<int> trazeniBrojevi = new List<int>();
        for (int i = 0; i < q; i++)
            trazeniBrojevi.Add(int.Parse(B[i]));

        NamestiGlasanje(n, q, glasovi, trazeniBrojevi);
    }
}