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

namespace Pikado
{
    class Program
    {
        static void Main(string[] args)
        {
            int brojGadjanja, izdrzljvostMete;
            int brojZamenjenihMeta = 0;
            int temp = 0;
            int index = 0;
            string[] input = new string[2];

            input = Console.ReadLine().Split(' ');
            brojGadjanja = Convert.ToInt32(input[0]);
            izdrzljvostMete = Convert.ToInt32(input[1]);

            int[] pogodnjeneMete = new int[brojGadjanja];
            int[] zamenjeneMete = new int[brojGadjanja];
            input = new string[brojGadjanja];
            input = Console.ReadLine().Split(' ');
            for (int i = 0; i < brojGadjanja; i++)
            {
                pogodnjeneMete[i] = Convert.ToInt32(input[i]);
            }

            Array.Sort(pogodnjeneMete);

            for (int i = 0; i < brojGadjanja; i++)
            {
                for (int j = i; j < brojGadjanja; j++)
                {

                    if (pogodnjeneMete[i] == pogodnjeneMete[j])
                        temp++;
                }
                if (temp >= izdrzljvostMete)
                {
                    brojZamenjenihMeta++;
                    zamenjeneMete[brojZamenjenihMeta - 1] = pogodnjeneMete[i];
                }
                temp = 0;
            }

            Array.Resize(ref zamenjeneMete, brojZamenjenihMeta);

            int[] ispis = zamenjeneMete.Distinct().ToArray();

            Console.WriteLine(ispis.Length);

            for (int i = 0; i < ispis.Length; i++)
            {
                Console.Write(ispis[i] + " ");
            }

        }
    }
}