#include<iostream>
#include<stdlib.h>
using namespace std;
#define M 1001
bool prime[M];
long int prm[400];
int genprime();
int main()
{
long int n,c,i,pc;
int s,e;
genprime();
while(scanf("%ld%ld",&n,&c)==2)
{
pc=0;
for(i=1;i<=n;i++)
if(prime[i])prm[++pc]=i;
if(pc&1)
if(2*c-1<pc)
{
s=(pc-2*c+1)/2+1;
e=s+2*c-1;
}
else
{
s=1;
e=pc+1;
}
else
if(2*c<pc)
{
s=(pc-2*c)/2+1;
e=s+2*c;
}
else
{
s=1;
e=pc+1;
}
cout<<n<<" "<<c<<":";
for(i=s;i<e;i++)
cout<<" "<<prm[i];
cout<<endl<<endl;
}
exit(0);
}
int genprime()
{
long i,j;
for(i=1;i<M;i++)
prime[i]=true;
for(i=2;i<M;i++)
{
if(prime[i])
for(j=2*i;j<M;j+=i)
prime[j]=false;
}
return 0;
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.