#include <bits/stdc++.h>
#define MAXN 1000005
using namespace std;

bool no[MAXN][2];
int cnt[MAXN][2];
vector<int> sol;

int main()
{ int n,k,x;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++)
{
    scanf("%d",&x);

    if(x<0)
    {
        cnt[ abs(x) ][1]++;

        if(cnt[ abs(x) ][1]>=k && no[ abs(x) ][1]==false)
        {
            sol.push_back(x);

            no[ abs(x) ][1]=true;
        }
    }

    if(x>=0)
    {
        cnt[ x ][0]++;

        if(cnt[ x ][0]>=k && no[ x ][0]==false)
        {
            sol.push_back(x);

            no[ x ][0]=true;
        }
    }
}

printf("%d\n",sol.size());

for(int i=0;i<sol.size();i++) printf("%d ",sol[i]);
    return 0;
}