using System;
using System.Reflection;

namespace Zad2
{
	class Program
	{
		static int[,] NadjiOpseg(int[] glasovi, int[] trazeni)
		{
			int[,] opseg = new int[trazeni.Length, 2];
			for(int l = 0; l < opseg.GetLength(0); l++)
			{
				opseg[l, 0] = -1;
			}
			int i = 0;
			for(int q = 0; q < trazeni.Length; q++)
			{
				bool nadjenPocetak = false;
				for(; i < glasovi.Length; i++)
				{
					if(glasovi[i] > trazeni[q])
					{
						break;
					}
					if(!nadjenPocetak && glasovi[i] == trazeni[q])
					{
						nadjenPocetak = true;
						opseg[q, 0] = i;
					}
					if(glasovi[i] == trazeni[q] && (i == glasovi.Length - 1 || glasovi[i + 1] != trazeni[q]))
					{
						opseg[q, 1] = i;
						break;
					}
				}
			}

			return opseg;
		}
		static int[] UcitajNiz(int n)
		{
			int[] niz = new int[n];
			string[] input = Console.ReadLine().Split();
			for(int i = 0; i < n; i++)
			{
				niz[i] = int.Parse(input[i]);
			}
			return niz;
		}
		static int[] UbaciElement(int[] n, int a, out int index)
		{
			index = -1;
			int[] n1 = new int[n.Length + 1];
			int i;
			for(i = 0; i < n.Length; i++)
			{
				if (n[i] < a)
				{
					n1[i] = n[i];
				}
				else
				{
					n1[i] = a;
					index = i;
					break;
				}
			}
			if(index == -1)
			{
				n1[n1.Length - 1] = a;
				index = n1.Length - 1;
			}
			else
			{
				for (; i < n.Length; i++)
				{
					n1[i + 1] = n1[i];
				}
			}
			return n1;
		}
		static int[] BrojLaznihGlasova(int[] glasovi, int[] trazeni)
		{
			int[] brojLaznihGlasova = new int[trazeni.Length];
			int[,] opseg = NadjiOpseg(glasovi, trazeni);

			for(int i = 0; i < trazeni.Length; i++)
			{
				int[] glasovi1 = new int[glasovi.Length];
				glasovi.CopyTo(glasovi1, 0);

				if (opseg[i, 0] == -1)
				{
					int index;
					glasovi1 = UbaciElement(glasovi1, trazeni[i], out index);
					int polovina = glasovi1.Length / 2;
					if(index < polovina)
					{
						brojLaznihGlasova[i] = glasovi1.Length - 1 - index - index;
					}
					else if(index > polovina)
					{
						brojLaznihGlasova[i] = index - (glasovi1.Length - 1 - index) - 1;
					}
					else
					{
						brojLaznihGlasova[i] = 0;
					}
					brojLaznihGlasova[i]++;
				}
				else
				{
					int polovina = glasovi1.Length / 2;
					if (opseg[i, 0] > polovina)
					{
						brojLaznihGlasova[i] = opseg[i, 0] - (glasovi.Length - 1 - opseg[i, 0]) - 1;
					}
					else if(opseg[i, 1] < polovina)
					{
						brojLaznihGlasova[i] = glasovi1.Length - 1 - opseg[i, 1] - opseg[i, 1];
					}
					else
					{
						brojLaznihGlasova[i] = 0;
					}
				}
			}
			return brojLaznihGlasova;
		}
		static void IspisiNiz(int[] n)
		{
			for(int i = 0; i < n.Length; i++)
			{
				Console.WriteLine(n[i]);
			}
		}
		static void Main()
		{
			int[] nq = UcitajNiz(2);
			int n = nq[0];
			int q = nq[1];
			int[] glasovi = UcitajNiz(n);
			int[] trazeni = UcitajNiz(q);
			Array.Sort(glasovi);
			Array.Sort(trazeni);
			IspisiNiz(BrojLaznihGlasova(glasovi, trazeni));
		}
	}
}