#include #include #include std::vector sieve(int n) { std::vector is_prime(n + 1, true); is_prime[0] = false; is_prime[1] = false; for (int i = 2; i * i <= n; i++) { if (is_prime[i]) { for (int j = i * i; j <= n; j += i) { is_prime[j] = false; } } } return is_prime; } int main(void) { int a, b; std::cin >> a >> b; auto is_prime = sieve(b); int sum = 0; for (int i = a; i <= b; i++) { sum += is_prime[i] ? i : 0; } int count = std::count(is_prime.begin() + a, is_prime.end(), true); std::cout << count << " " << sum << std::endl; return 0; }