#include <bits/stdc++.h>
using namespace std;
int main() {
int n = 100'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+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuID0gMTAwJzAwMCcwMDA7CiAgICB2ZWN0b3I8Ym9vbD4gYXNhbF9taShuICsgMSwgMSk7CiAgICBhc2FsX21pWzBdID0gYXNhbF9taVsxXSA9IGZhbHNlOwoKICAgIC8vIEJ1cmF5xLEgZGEgbidpbiBrw7Zrw7xuZSBrYWRhciBnZXplY2VrIMWfZWtpbGRlIGF5YXJsxLF5b3J1eiDDp8O8bmvDvCBpbGVyaXNpIGnDp2luIGnDp3Rla2kgZm9yJ2EgZ2lyaWxtZXllY2VrLgogICAgZm9yIChpbnQgYm9sZW4gPSAyOyBib2xlbiAqIGJvbGVuIDw9IG47IGJvbGVuKyspIHsKICAgICAgICBpZiAoIWFzYWxfbWlbYm9sZW5dKQogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICBmb3IgKGludCBrYXQgPSBib2xlbiAqIGJvbGVuOyBrYXQgPD0gbjsga2F0ICs9IGJvbGVuKSB7CiAgICAgICAgICAgIGFzYWxfbWlba2F0XSA9IGZhbHNlOwogICAgICAgIH0KICAgIH0KCiAgICBpbnQgYXNhbF9zYXlpc2kgPSAwOwogICAgZm9yIChpbnQgc2F5aSA9IDE7IHNheWkgPD0gbjsgc2F5aSsrKSB7CiAgICAgICAgYXNhbF9zYXlpc2kgKz0gYXNhbF9taVtzYXlpXTsKICAgIH0KCiAgICBjb3V0IDw8ICIxJ2RlbiAiIDw8IG4gPDwgIidlIGthZGFyICIgPDwgYXNhbF9zYXlpc2kgPDwgIiBhZGV0IGFzYWwgc2F5aSB2YXIuIiA8PCAiXG4iOwp9