#include<bits/stdc++.h>
#define MAX 100005
using namespace std;
long prime[MAX]; // max prime numbers
int nPrime[10000]; // will store from prime to implement easily
void sieve()
{
memset(prime,0,sizeof(prime)); // initially considering all value is prime
prime[0] = prime[1] = 1; // cause 0 & 1 both are not prime. 1 indicates not prime. 0 does
for(int i=4; i<MAX; i+=2) // 2,4,6.... even numbers are not prime
{
prime[i] = 1;
}
for(int i=3; i*i<MAX; i+=2)
{
if(!prime[i]) // if current value is prime.then the divisors by this will not be prime.
{
for(int j=i*i; j < MAX; j+=i)
{
prime[j] = 1; // jeigula prime gula dia onno number gula re vag jay.. seigula prime number na
}
}
}
int k = 1;
nPrime[0] = 1;
for(int i=2; i<MAX; i++)
{
if(!prime[i])
{
nPrime[k] = i;// Storing all the prime numbers together.
k++;
}
}
}
int main()
{
sieve();
int mx,c,counter=0,C;
/*while(scanf("%d %d",&mx,&c) != EOF)
{
for(int i=1; i<=mx; i++)
{
if(!prime[i])
{
counter++;
}
}
if(counter&1)
{
C = 2*c-1;
}
else
{
C = 2*c;
}
printf("%d %d: ",mx,c);
int mid = counter/2;
for(int i=1; i<C; i++)
{
if(i == (C-1))
{
printf("%d\n",nPrime[mid-1]);
}
else
{
printf("%d ",nPrime[mid-1]);
}
mid++;
}
}
*/
return 0;
}