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

namespace qual21
{
    class Program
    {
        static void Main(string[] args)
        {
            
            string[] pomocnistr = Console.ReadLine().Split();
            int n = int.Parse(pomocnistr[0]);
            int k = int.Parse(pomocnistr[1]);
            pomocnistr = Console.ReadLine().Split();
            int[] pogodci = new int[n];
            int i = 0;
            for (; i < n; i++)
            {
                pogodci[i] = int.Parse(pomocnistr[i]);
            }
            pomocnistr = null;
            int[,] pzametu = new int[2,2*n];
            for (i = 0; i < n; i++)
            {
                if (pzametu[0, pogodci[i] + n + 1] != pogodci[i])
                {
                    pzametu[0, pogodci[i] + n + 1] = pogodci[i];
                    pzametu[1, pogodci[i] + n + 1]++;
                    
                }
                else
                    pzametu[1, pogodci[i] + n + 1]++;
            }
            int brpromenjenih = 0;
            string promenjenemete = null;
            for (i = 0; i<2 * n; i++)
            {
                if (pzametu[1,i] >= k)
                {
                    brpromenjenih++;
                    promenjenemete += pzametu[0, i] + " ";
                }
            }
            Console.WriteLine(brpromenjenih);
            Console.WriteLine(promenjenemete);
            Console.ReadKey();

        } 
    }
}