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

namespace glasanje
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Unesite broj glasova koji su vec bili u kutiji (broj glasova = dužina niza A): ");
            int N = Convert.ToInt32(Console.ReadLine());
            int[] A = new int[N]; //niz A je dužine N
            Console.WriteLine();
            Console.WriteLine("Unesite broj scenarija (broj scenarija = dužina niza B): "); //Q scenarija gde je u i - tom scenariju broj koji je Markos zamislio B[i]
            int Q = Convert.ToInt32(Console.ReadLine());
            int[] B = new int[Q];
            int[] X = new int[Q];

            int C = 0; //promenljiva za izmenjivanje mesta za niz A

            Console.WriteLine();
            Console.WriteLine("Unesite niz A (niz glasova), svaki uneti broj uneti u narednom redu: ");
            for (int i = 0; i < N; i++)
            {
                A[i] = Convert.ToInt32(Console.ReadLine());
            }

            Console.WriteLine();
            Console.WriteLine("Unesite niz B (niz scenarija), svaki uneti broj uneti u narednom redu: ");
            for (int i = 0; i < Q; i++)
            {
                B[i] = Convert.ToInt32(Console.ReadLine());
            }

            int dodati = 0;
            int manji = 0;
            int veci = 0;
            int jednaki = 0;

            for (int medijana = 0; medijana < Q; medijana++)
            {
                for (int i = 0; i < N; i++)
                {
                    if (B[medijana] < A[i])
                    {
                        manji++;
                    }

                    if (B[medijana] > A[i])
                    {
                        veci++;
                    }

                    if (B[medijana] == A[i])
                    {
                        jednaki++;
                    }
                }

                for (int y = 0; y <= (N - 1); y++)
                {
                    for (int i = 0; i < (N - 1); i++)
                    {
                        if (A[i] > A[i + 1])
                        {
                            C = A[i + 1];
                            A[i + 1] = A[i];
                            A[i] = C;
                        }
                    }
                }

                if (jednaki == 0)
                {
                    jednaki++;
                    dodati++;
                }

                while (jednaki > 1 && veci != manji)
                {
                    if (manji < veci)
                    {
                        manji++;
                        jednaki--;
                    }

                    if (manji > veci)
                    {
                        veci++;
                        jednaki--;
                    }
                }

                while (((veci != manji) && (1 == (jednaki + manji + veci) % 2)) ||
                    ((veci != manji + 1) && (0 == (jednaki + manji + veci) % 2)))
                {
                    if (manji > veci)
                    {
                        veci++;
                        dodati++;
                    }

                    if (manji < veci)
                    {
                        manji++;
                        dodati++;
                    }
                }

                B[medijana] = dodati;
                dodati = 0;
                manji = 0;
                veci = 0;
                jednaki = 0;
            }

            Console.WriteLine();
            Console.WriteLine("Broj glasova koje je potrebno dodati je sledeci: ");
            for (int i = 0; i < Q; i++)
            {
                Console.WriteLine(B[i] + " ");
            }

            Console.ReadLine();
        }
    }
}