#include <iostream>
#include <vector>
#include <cmath>
bool isPrime(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
int sqrt_n = sqrt(n);
for (int i = 3; i <= sqrt_n; i += 2) {
if (n % i == 0) return false;
}
return true;
}
int main() {
std::vector<int> primes;
int sum = 0;
int limit = 10000000;
for (int i = 5; i <= limit; i += 2) {
if (isPrime(i) && i % 10 != 3) {
primes.push_back(i);
sum += i;
}
}
std::cout << "Sum of primes from 5 to 10 million (excluding those ending with 3): " << sum << std::endl;
std::cout << "Number of primes: " << primes.size() << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8Y21hdGg+Cgpib29sIGlzUHJpbWUoaW50IG4pIHsKaWYgKG4gPCAyKSByZXR1cm4gZmFsc2U7CmlmIChuID09IDIpIHJldHVybiB0cnVlOwppZiAobiAlIDIgPT0gMCkgcmV0dXJuIGZhbHNlOwppbnQgc3FydF9uID0gc3FydChuKTsKZm9yIChpbnQgaSA9IDM7IGkgPD0gc3FydF9uOyBpICs9IDIpIHsKaWYgKG4gJSBpID09IDApIHJldHVybiBmYWxzZTsKfQpyZXR1cm4gdHJ1ZTsKfQoKaW50IG1haW4oKSB7CnN0ZDo6dmVjdG9yPGludD4gcHJpbWVzOwppbnQgc3VtID0gMDsKaW50IGxpbWl0ID0gMTAwMDAwMDA7CmZvciAoaW50IGkgPSA1OyBpIDw9IGxpbWl0OyBpICs9IDIpIHsKaWYgKGlzUHJpbWUoaSkgJiYgaSAlIDEwICE9IDMpIHsKcHJpbWVzLnB1c2hfYmFjayhpKTsKc3VtICs9IGk7Cn0KfQoKc3RkOjpjb3V0IDw8ICJTdW0gb2YgcHJpbWVzIGZyb20gNSB0byAxMCBtaWxsaW9uIChleGNsdWRpbmcgdGhvc2UgZW5kaW5nIHdpdGggMyk6ICIgPDwgc3VtIDw8IHN0ZDo6ZW5kbDsKc3RkOjpjb3V0IDw8ICJOdW1iZXIgb2YgcHJpbWVzOiAiIDw8IHByaW1lcy5zaXplKCkgPDwgc3RkOjplbmRsOwpyZXR1cm4gMDsKfQ==