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

namespace Zad1
{
    class Program
    {
        static void Main(string[] args)
        {
            string nk = Console.ReadLine();
            string[] pomnk = nk.Split(' ');
            int n = Convert.ToInt32(pomnk[0]);
            int k = Convert.ToInt32(pomnk[1]);
            string niz = Console.ReadLine();
            string[] pom = niz.Split(' ');
            int[] poz = new int[n+1];
            int[] neg = new int[n];
            int brojbrojeva = 0;
            int[] nizbrojeva = new int[n];
            for(int i=0;i<n;i++)
            {
                if(Convert.ToInt32(pom[i])>=0)
                {
                    poz[Convert.ToInt32(pom[i])]++;
                    if(poz[Convert.ToInt32(pom[i])]==k)
                    {
                        nizbrojeva[brojbrojeva] = Convert.ToInt32(pom[i]);
                        brojbrojeva++;
                    }
                }
                else
                {
                    neg[Convert.ToInt32(pom[i]) * (-1) - 1]++;
                    if (neg[Convert.ToInt32(pom[i]) * (-1) - 1] == k)
                    {
                        nizbrojeva[brojbrojeva] = Convert.ToInt32(pom[i]);
                        brojbrojeva++;
                    }
                }
            }
            Console.WriteLine(brojbrojeva + " ");
            for(int j=0;j<brojbrojeva;j++)
            {
                Console.Write(nizbrojeva[j] + " ");
            }
        }
    }
}