#include <bits/stdc++.h>
using namespace std;
int main() {
int n = 10'000'000;
vector<bool> asal_mi(n + 1, 1);
asal_mi[0] = asal_mi[1] = false;
// Burayı da n'in köküne kadar gezecek şekilde ayarlıyoruz çünkü ilerisi için içteki for'a girilmeyecek.
for (int bolen = 2; bolen * bolen <= n; bolen++) {
if (!asal_mi[bolen])
continue;
for (int kat = bolen * bolen; kat <= n; kat += bolen) {
asal_mi[kat] = false;
}
}
int asal_sayisi = 0;
for (int sayi = 1; sayi <= n; sayi++) {
asal_sayisi += asal_mi[sayi];
}
cout << "1'den " << n << "'e kadar " << asal_sayisi << " adet asal sayi var." << "\n";
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKSB7CiAgICBpbnQgbiA9IDEwJzAwMCcwMDA7CiAgICB2ZWN0b3I8Ym9vbD4gYXNhbF9taShuICsgMSwgMSk7CiAgICBhc2FsX21pWzBdID0gYXNhbF9taVsxXSA9IGZhbHNlOwogCiAgICAvLyBCdXJhecSxIGRhIG4naW4ga8O2a8O8bmUga2FkYXIgZ2V6ZWNlayDFn2VraWxkZSBheWFybMSxeW9ydXogw6fDvG5rw7wgaWxlcmlzaSBpw6dpbiBpw6d0ZWtpIGZvcidhIGdpcmlsbWV5ZWNlay4KICAgIGZvciAoaW50IGJvbGVuID0gMjsgYm9sZW4gKiBib2xlbiA8PSBuOyBib2xlbisrKSB7CiAgICAgICAgaWYgKCFhc2FsX21pW2JvbGVuXSkKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgZm9yIChpbnQga2F0ID0gYm9sZW4gKiBib2xlbjsga2F0IDw9IG47IGthdCArPSBib2xlbikgewogICAgICAgICAgICBhc2FsX21pW2thdF0gPSBmYWxzZTsKICAgICAgICB9CiAgICB9CiAKICAgIGludCBhc2FsX3NheWlzaSA9IDA7CiAgICBmb3IgKGludCBzYXlpID0gMTsgc2F5aSA8PSBuOyBzYXlpKyspIHsKICAgICAgICBhc2FsX3NheWlzaSArPSBhc2FsX21pW3NheWldOwogICAgfQogCiAgICBjb3V0IDw8ICIxJ2RlbiAiIDw8IG4gPDwgIidlIGthZGFyICIgPDwgYXNhbF9zYXlpc2kgPDwgIiBhZGV0IGFzYWwgc2F5aSB2YXIuIiA8PCAiXG4iOwp9