using System;
using System.Dynamic;

namespace kvalifikacije_A
{
    class Program
    {
        static void Main(string[] args)
        {
            // deklaracije
            int[] A = new int[100001];
            int[] B = new int[200001];
            int N, K, P, i, j;
            int nBroj = 0;
            string[] strNK, strA;

            // ucitaj N i K
            Console.WriteLine("Unesi N i K");
            strNK = Console.ReadLine().Split();
            N = int.Parse(strNK[0]);
            K = int.Parse(strNK[1]);

            // ucitaj sve pogotke
            Console.WriteLine("Unesi bacanja");
            strA = Console.ReadLine().Split();
            for (i = 1; i <= N; i++)
            {
                A[i] = int.Parse(strA[i - 1]);
            }

            // racunaj koliko puta je pogodjeno svako polje
            for (i = 1; i <= N; i++)
            {
                j = A[i] + N + 1;
                B[j]++;
            }

            // koja su polja koja treba zameniti jer su se istrosila
            Console.WriteLine("Polja koja treba zameniti su");
            for (i = 1; i <= 2 * N + 1; i++)
            {
                if (B[i] >= K)
                {
                    P = i - N - 1;
                    Console.Write(Convert.ToString(P) + ' ');
                    nBroj++;
                }
            }

            // Stampaj ukupan broj polja za zamenu
            Console.WriteLine("\nUkupan broj polja koja treba zameniti je:");
            Console.WriteLine(nBroj);

        }
    }
}