#include #include #include using namespace std; const int MAX_SUM = 2000000; // Hàm sàng Eratosthenes ?? ?ánh d?u s? nguyên t? vector sieve(int max_val) { vector is_prime(max_val + 1, true); is_prime[0] = is_prime[1] = false; for (int i = 2; i <= sqrt(max_val); ++i) { if (is_prime[i]) { for (int j = i * i; j <= max_val; j += i) { is_prime[j] = false; } } } return is_prime; } int count_valid_pairs(int L, int R) { // Kh?i t?o m?ng ?ánh d?u s? nguyên t? vector is_prime = sieve(MAX_SUM); int count = 0; // Duy?t qua các giá tr? c?a A t? L ??n R for (int A = L; A <= R; ++A) { int total_sum = 0; // Duy?t qua các giá tr? c?a B t? A ??n R for (int B = A; B <= R; ++B) { total_sum += B; // Ki?m tra n?u t?ng là s? nguyên t? if (total_sum > MAX_SUM) break; // N?u t?ng v??t quá MAX_SUM, ng?ng ki?m tra if (is_prime[total_sum]) { count++; } } } return count; } int main() { int L, R; cin >> L >> R; int result = count_valid_pairs(L, R); cout << result << endl; return 0; }