#include <iostream>
#include <algorithm>
using namespace std;
main()
{
 long long n,k,velikiBrojac=0,maliBrojac=1;
 cin>>n;
 cin>>k;
 long long a[n];
 long long b[n];
 long long t = a[0];
    for (long long i = 0; i < n; i++)
         {
             cin>>a[i];
         }
     sort(a, a+n);
     if(k==1){
        cout<<n<<endl;
        for(long long i=0;i<n;i++){
            cout<<a[i]<<" ";
            }
         }
     else{
            for (long long i = 1; i<n; i++)
            {
                if (i == n - 1)
                {
                    if (a[i] == t)
                    {
                        maliBrojac++;
                    }
                if (maliBrojac >= k)
                {
                    maliBrojac = 1;
                    b[velikiBrojac] = t;
                    velikiBrojac++;
                }
                }
                else
                {
                    if (a[i] == t)
                    {
                        maliBrojac++;
                    }
                    else
                    {
                        if (maliBrojac >= k)
                        {
                            maliBrojac = 1;
                            b[velikiBrojac] = t;
                            velikiBrojac++;
                        }
                        else
                        {
                            maliBrojac = 1;
                        }
                    }
                    t = a[i];
                }
        }

     cout<<velikiBrojac<<endl;
      for (long long i = 0; i < velikiBrojac; i++)
         {
             cout<<b[i]<<" ";
         }
      }
  }