#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void countPrimesInRange_sieve(int a, int b)//1 10000
{
int n = max(a,b);
vector<bool> isPrime(n+1, true);
isPrime[0] = isPrime[1] = 0;
for (ll i = 2; i*i <= n; ++i) {
if (isPrime[i]) {
for (int j = i * 2; j <= n; j += i)
isPrime[j] = 0;
}
}
int cnt = 0;
for (int i = a; i < b; ++i)
if(isPrime[i])
cout<<i<<" ";
}
int main ()
{
countPrimesInRange_sieve(1 , 50);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CgoKdm9pZCBjb3VudFByaW1lc0luUmFuZ2Vfc2lldmUoaW50IGEsIGludCBiKS8vMSAgIDEwMDAwCnsKICAgIGludCBuICA9IG1heChhLGIpOwogICAgdmVjdG9yPGJvb2w+IGlzUHJpbWUobisxLCB0cnVlKTsKICAgIGlzUHJpbWVbMF0gPSBpc1ByaW1lWzFdID0gMDsKCiAgICBmb3IgKGxsIGkgPSAyOyBpKmkgPD0gbjsgKytpKSB7CiAgICAgICAgaWYgKGlzUHJpbWVbaV0pIHsKICAgICAgICAgICAgZm9yIChpbnQgaiA9IGkgKiAyOyBqIDw9IG47IGogKz0gaSkKICAgICAgICAgICAgICAgIGlzUHJpbWVbal0gPSAwOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgY250ID0gMDsKCiAgICBmb3IgKGludCBpID0gYTsgaSA8IGI7ICsraSkKICAgICAgICBpZihpc1ByaW1lW2ldKQogICAgICAgICAgICBjb3V0PDxpPDwiICAiOwp9CgoKaW50IG1haW4gKCkKewogICAgY291bnRQcmltZXNJblJhbmdlX3NpZXZlKDEgLCA1MCk7CgoKCiAgICByZXR1cm4gMDsKfQ==