using System;
using System.Collections.Generic;
namespace shIT
{
	class Program
	{
		static void Main(string[] args)
		{
			string[] data = Console.ReadLine().Split();
			int n = int.Parse(data[0]);
			int k = int.Parse(data[1]);
			string[] unos = Console.ReadLine().Split();
			int[] pogodci = new int[unos.Length];

			for (int i = 0; i < unos.Length; i++)
			{
				pogodci[i] = int.Parse(unos[i]);
			}
			Array.Sort(pogodci);


			
			int element = pogodci[0];
			int brojPonavljanja = 1;

			List<int> izlizani = new List<int>();
			
			for (int i = 1; i < pogodci.Length; i++)
			{
				if(pogodci[i] == element)
				{
					brojPonavljanja++;
				}
				else
				{
					if(brojPonavljanja >= k )
					{
						izlizani.Add(element);
					}

					element = pogodci[i];
					brojPonavljanja = 1;

				}

			}
			
			if (brojPonavljanja >= k)
			{
				izlizani.Add(element);
			}
			
			Console.WriteLine(izlizani.Count);
			for (int i = 0; i < izlizani.Count; i++)
			{
				Console.Write("{0} ", izlizani[i]);
			}

		}	
	}
}