#include<iostream>
using namespace std;
int list[1010]={0,1,2,3};
int Find(int N) // N
{
int i;
for(i=1;i<=1000;i++)
if(N<list[i])
{
i--;
break;
}
return i; // 1000 , 1000 N ,
// 1000 1000
// 1100 ,AC
}
bool Isprime(int n) //
{
int i = 0;
for(i = 2; i < n; i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
int i,j,k,N,C,c,center,begin;
for(k=i=4;i<=1100;i++) //1100 1000
if( Isprime(i) )
list[ k++ ] = i ;
while( scanf("%d%d",&N,&C)!=EOF )
{
int F = Find(N); //
center = F/2; //
if( F%2==0 )
{
c = 2 * C ; //c
begin = center-C+1;
}
else
{
c=2*C-1;
begin=center-(C-1)+1;
}
//printf("F=%d c=%d center=%d begin=%d
",F,c,center,begin);
printf("%d %d:",N,C);
if(F<c)
for(i=1;i<=F;i++)
printf(" %d",list[i]);
else
for(i=begin,j=1;j<=c;j++,i++)
printf(" %d",list[i]);
printf("
");
}
return 0;
}