#include <iostream>
#include <string.h>
using namespace std;
 int brk(int n, int k)
 {
 	int i=0;
 	while(n>=k)
 	{
 		
 		n=n-k;
 		i++;
	}
	return i;
 }
main()
{
 int n, k, m;
	cin>>n>>k;
	
static int a[2000001];
for(int i=1; i<=n; i++)
{
	cin>>m; 
	if(m<0)
	{
		a[n-m]++;
		
	}
	else
	{
		a[m]++;
	}
}
 
 
 static int b[1000001];
 int s=0, j=1;

for( int i=0; i<=2*n; i++)
{


	
	if(brk(a[i],k)>0)
{
	s+=brk(a[i],k);
if(i>n)
{
	b[j]=n-i;
	j++;
}
else
{
	b[j]=i;
	j++;
}
}


}

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