#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>

using namespace std;
int m[1000010];
int l[1000010];
int main(){
    int n;
    int k;

    cin >> n >> k;

    for(int i=1; i<=n; i++) {
      cin >> m[i];
    }

    sort(m+1,m+n+1);

    int b=0;
    int br=1;

    if(k!=1) {
     for(int i=1; i<=n; i++) {
       if(m[i]==m[i+1]) {
            br++;
              if(br==k) {
                b++;
                 l[b]=m[i];
              }
     }
      else br=1;
     }

     cout << b << endl;

     for(int i=1; i<=b; i++) {
       cout << l[i] << " ";
     }
    }





    else {


    b=0;
    br=0;

      for(int i=1; i<=n; i++) {
         if(m[i]==m[i+1]) {
            br++;
              if(br==k) {
                b++;
                 l[b]=m[i];
              }
     }

              else  if(m[i]==m[i-1]) br=0;
                 else if(m[i]!=m[i-1]) {
                    b++;
                     l[b]=m[i];
                 }


          }
          cout << b << endl;

     for(int i=1; i<=b; i++) {
       cout << l[i] << " ";
     }

        }


return 0;
      }