using System;

public class Isplata
{
	public static void Main()
	{
		int n , k , z=0;
		int[] a , b;
		int[] order = Translate();
		n = order[0];
		k = order[1];
		order = Translate();
		a = new int[n];
		b = new int[2*n+1];
		for(int i=0; i<2*n+1; i++){
			b[i]=0;
		}
		for(int i=0; i<n; i++)
		{
			a[i] = order[i];
			b[a[i]+n]++;
		}
		for(int i=0; i<2*n+1; i++){
			if(b[i]>=k)
			{
				z++;
			}
		}
		Console.WriteLine(z);
		for(int i=0; i<2*n+1; i++){
			if(b[i]>=k){
				Console.Write(i-n + " ");
			}
		}
	}

	public static int[] Translate()
	{
		return Array.ConvertAll<string, int>(Console.ReadLine().Split(' '), int.Parse);
	}
}