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

namespace ConsoleApp9
{
    internal class Program
    {
        static int Medijana(int[] niz)
        {
            int n  = niz.Length;
            return niz[n / 2];
        
        }
        static bool DaLiPostojiMedijana(int[] a, int medijana)
        {
            int n = a.Length;
            int l = 0;
            int d = n - 1;
            while (l <= d)
            {
                int s = l + (d - l) / 2;
                if (a[s] == medijana)
                    return true;
                else if (a[s] < medijana)
                    l = s + 1;
                else
                    d = s - 1;
                
            }
            return false;
        }
        static int PozicijaMarkosoveMedijane(int[] a, int novaMed)
        {
            int n = a.Length;
            int l = 0;
            int d = n - 1;
            while (l <= d)
            {
                int s = l + (d - l) / 2;
                if (a[s] == novaMed)
                    return s;
                else if (a[s] < novaMed)
                    l = s + 1;
                else
                    d = s - 1;

            }
            return l;

        }
        static int BrojGlasovaKojiDodaje(int markosovaMedijana, int medijana, int[] a)
        {
            int ind = PozicijaMarkosoveMedijane(a, markosovaMedijana);
            int n = a.Length;
            if (DaLiPostojiMedijana(a, markosovaMedijana))
            {

                if (markosovaMedijana == medijana)
                    return 0;
                else if (markosovaMedijana > medijana)
                {
                    int br = ind * 2 - (ind + 1) - (n - 1 - ind);
                    return br;
                }
                else
                {
                    int noviInd = n - 1 - ind;
                    int br = noviInd * 2 - (noviInd + 1) - ind + 1;
                    return br;
                }
            }
            else
            {

                if (markosovaMedijana > medijana)
                {
                    int br = ind * 2 - (ind + 1) - (n - ind) + 1;
                    return br;
                }
                else
                {
                    int noviInd = n - ind;
                    int br = noviInd * 2 - (noviInd + 1) - ind + 2;
                    return br;
                }
            }

        }
        static void Main(string[] args)
        {
            string[] n_q = Console.ReadLine().Split();
            int n = int.Parse(n_q[0]);
            int q = int.Parse(n_q[1]);
            int[] a = new int[n];
            int[] b = new int[q];

            string[] nizA = Console.ReadLine().Split();
            for (int i = 0; i < n; i++)
            {
                a[i] = int.Parse(nizA[i]);
            }

            string[] nizB = Console.ReadLine().Split();
            for (int i = 0; i < q; i++)
            {
                b[i] = int.Parse(nizB[i]);
            }
            Array.Sort(a);
            int medijana = Medijana(a);

            for (int i = 0; i < q; i++)
            {
                int br = BrojGlasovaKojiDodaje(b[i], medijana, a);
                Console.WriteLine(br);
            }

        }
    }
}