#include <stdio.h>
#include<iostream>
using namespace std;
bool flag[1005];
int primes[1005];
int cnt;
void seive(int n)
{
cnt=0;
primes[cnt++] = 1;
primes[cnt++]=2;
for(int i=3; i<=n; i+=2)
{
if(flag[i] == 0)
{
primes[cnt++] = i;
if(i <= n/i)
{
for(int j=i*i; j<=n; j+=i*2)
flag[j] = 1;
}
}
}
return ;
}
int main()
{
int n,c,res,hi,lo,m;
while(cin>>n>>c)
{
if( n==1)
{
printf("%d %d: %d\n\n",n,c,n);
}
else
{
seive(n);
if(cnt%2==1)
{
res=2*c-1;
}
else
{
res=2*c;
}
if(res<=cnt)
{
printf("%d %d:",n,c);
m=(cnt-res)/2;
for(int i=0;i<res;i++)
printf(" %d",primes[m++]);
printf("\n\n");
}
else
{
printf("%d %d:",n,c);
for(int j =0;j<cnt;j++)
printf(" %d",primes[j]);
printf("\n\n");
}
/*{
hi=2*c;
lo=2*c + 2;
for( int i=hi;i<=lo;i++)
{
cout<<primes[i] ;
}
cout<<"\n";
}*/
}
}
return 0;
}
0 Comments