#include <iostream>
#include <fstream>
#include <algorithm>
#include <iostream>
unsigned long count = 1; // we assume 2 has been found.
unsigned long primeArr[3] = {0};
bool primeArrCanDiv(unsigned long n){
for(unsigned long i = 0; i<count; i++){
if(n%primeArr[i] == 0) return true;
}
primeArr[count] = n;
return false;
}
int main(){
unsigned long j=3;
primeArr[0]=2;
while(count<3){
if(!primeArrCanDiv(j))
{
count++;
std::cout << count << '\n';
}
++j;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGFsZ29yaXRobT4KCgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1bnNpZ25lZCBsb25nIGNvdW50ID0gMTsgLy8gd2UgYXNzdW1lIDIgaGFzIGJlZW4gZm91bmQuCnVuc2lnbmVkIGxvbmcgcHJpbWVBcnJbM10gPSB7MH07Cgpib29sIHByaW1lQXJyQ2FuRGl2KHVuc2lnbmVkIGxvbmcgbil7CiAgICBmb3IodW5zaWduZWQgbG9uZyBpID0gMDsgaTxjb3VudDsgaSsrKXsKICAgICAgICBpZihuJXByaW1lQXJyW2ldID09IDApIHJldHVybiB0cnVlOwogICAgfQogICAgcHJpbWVBcnJbY291bnRdID0gbjsKICAgIHJldHVybiBmYWxzZTsKfQoKCmludCBtYWluKCl7CiAgICB1bnNpZ25lZCBsb25nIGo9MzsKICAgIHByaW1lQXJyWzBdPTI7CiAgICB3aGlsZShjb3VudDwzKXsKICAgICAgICBpZighcHJpbWVBcnJDYW5EaXYoaikpCiAgICAgICAgewogICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICBzdGQ6OmNvdXQgPDwgY291bnQgPDwgJ1xuJzsKICAgICAgICB9CiAgICAgICAgKytqOwogICAgfQogICAgcmV0dXJuIDA7Cn0=