1int n;
2vector<char> is_prime(n+1, true);
3is_prime[0] = is_prime[1] = false;
4for (int i = 2; i <= n; i++) {
5 if (is_prime[i] && (long long)i * i <= n) {
6 for (int j = i * i; j <= n; j += i)
7 is_prime[j] = false;
8 }
9}
10