http://acm.hdu.edu.cn/showproblem.php?pid=1319
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<bitset>
#include<iomanip>
using namespace std;
const int MAX=1010;
int prime[MAX],hash[MAX],k;
void init_prime()
{
memset(hash,0,sizeof(hash));
prime[1]=1;k=2;
for(int i=2;i<MAX;i++)
if(!hash[i])
{
prime[k++]=i;
for(int j=i*2;j<MAX;j+=i)
hash[j]=1;
}
}
int main()
{
int n,c,num;
init_prime();
while(cin>>n>>c)
{
num=1;
while(prime[num]<=n)
num++;
printf("%d %d:",n,c);
if(num/2 >= c)
{
if(num % 2 == 1 )
for( int i=num/2-c+1;i<=num/2+c;i++)
cout<<" "<<prime[i];
else
for(int i=num/2-c+1;i<=num/2+c-1;i++)
cout<<" "<<prime[i];
}
else
for(int i=1;i<num;i++)
cout<<" "<<prime[i];
puts(" ");
puts(" ");
}
return 0;
}