#include <iostream>
using namespace std;
#define MAX_PRIME 20000000
long long int sum = 0;
int noPrimes = 0;
bool isNotPrime[MAX_PRIME]= {};
void count()
{
for (int i = 2; i < MAX_PRIME; i++)
{
if (!isNotPrime[i])
{
for (int j = i + i; j < MAX_PRIME; j += i)
{
isNotPrime[j] = true;
}
noPrimes++;
sum += i;
}
}
}
int main()
{
count();
cout << "noPrimes = " << noPrimes << endl;
cout << "sum = " << sum << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNkZWZpbmUgTUFYX1BSSU1FIDIwMDAwMDAwCgpsb25nIGxvbmcgaW50IHN1bSA9IDA7CmludCBub1ByaW1lcyA9IDA7CmJvb2wgaXNOb3RQcmltZVtNQVhfUFJJTUVdPSB7fTsKCnZvaWQgY291bnQoKQp7CiAgZm9yIChpbnQgaSA9IDI7IGkgPCBNQVhfUFJJTUU7IGkrKykKICB7CiAgCWlmICghaXNOb3RQcmltZVtpXSkKICAJewogIAkgIGZvciAoaW50IGogPSBpICsgaTsgaiA8IE1BWF9QUklNRTsgaiArPSBpKQogIAkgIHsKICAJICAgIGlzTm90UHJpbWVbal0gPSB0cnVlOwogIAkgIH0KICAJICBub1ByaW1lcysrOwogIAkgIHN1bSArPSBpOwogIAl9CiAgfQp9CgppbnQgbWFpbigpCnsKICBjb3VudCgpOwogIGNvdXQgPDwgIm5vUHJpbWVzID0gIiA8PCBub1ByaW1lcyA8PCBlbmRsOwogIGNvdXQgPDwgInN1bSA9ICIgPDwgc3VtIDw8IGVuZGw7CiAgcmV0dXJuIDA7Cn0=