- #include <iostream> 
- #include <chrono> 
-   
- #define sqr(x) ((x) * (x)) 
-   
- using namespace std; 
-   
- auto start = chrono::steady_clock::now(); 
-   
- int primes[1000000] = {2}; 
- int count = 0; 
-   
- int main() { 
-     for (int n = 3; n < 1000000; n += 2) { 
-         bool is_prime = true; 
-         for (int i = 0; sqr(primes[i]) <= n; i++) { 
-             if (n % primes[i] == 0) { 
-                 is_prime = false; 
-                 break; 
-             } 
-         } 
-         if (is_prime) { 
-             primes[count++] = n; 
-         } 
-     } 
-   
-     cout << count << endl; 
-   
-     auto elapsed = chrono::duration_cast<chrono::milliseconds>( 
-     	chrono::steady_clock::now( ) - start 
-     	); 
-   
-     std::cout << "milliseconds since start: " << elapsed.count() << endl; 
-   
-     return 0; 
- } 
-   
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y2hyb25vPgoKI2RlZmluZSBzcXIoeCkgKCh4KSAqICh4KSkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgphdXRvIHN0YXJ0ID0gY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpOwoKaW50IHByaW1lc1sxMDAwMDAwXSA9IHsyfTsKaW50IGNvdW50ID0gMDsKCmludCBtYWluKCkgewogICAgZm9yIChpbnQgbiA9IDM7IG4gPCAxMDAwMDAwOyBuICs9IDIpIHsKICAgICAgICBib29sIGlzX3ByaW1lID0gdHJ1ZTsKICAgICAgICBmb3IgKGludCBpID0gMDsgc3FyKHByaW1lc1tpXSkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChuICUgcHJpbWVzW2ldID09IDApIHsKICAgICAgICAgICAgICAgIGlzX3ByaW1lID0gZmFsc2U7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoaXNfcHJpbWUpIHsKICAgICAgICAgICAgcHJpbWVzW2NvdW50KytdID0gbjsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBjb3VudCA8PCBlbmRsOwogICAgCiAgICBhdXRvIGVsYXBzZWQgPSBjaHJvbm86OmR1cmF0aW9uX2Nhc3Q8Y2hyb25vOjptaWxsaXNlY29uZHM+KAogICAgCWNocm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coICkgLSBzdGFydAogICAgCSk7CiAgICAKICAgIHN0ZDo6Y291dCA8PCAibWlsbGlzZWNvbmRzIHNpbmNlIHN0YXJ0OiAiIDw8IGVsYXBzZWQuY291bnQoKSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9Cgo=