vector soe(int n) { vector not_prime(n + 1); vector res; for (int i = 2; i <= n; ++i) { if (not not_prime[i]) { res.emplace_back(i); } for (auto&& x : res) { if (i * x > n) break; not_prime[i * x] = 1; if (i % x == 0) break; } } return res; }