#include <stdlib.h>
#include <stdio.h>
#include <string.h>
long long divd(long long N, long long start)
{
for(long long i = start; i*i <= N; i+=2)
{
if (N%i == 0) return i;
}
return N;
}
int main()
{
long long N = 600851475143ll;
long long start = 3;
while(N%2 == 0)
{
N /= 2;
}
while(N > 1)
{
start = divd(N,start);
N /= start;
}
}
I2luY2x1ZGUgPHN0ZGxpYi5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKbG9uZyBsb25nIGRpdmQobG9uZyBsb25nIE4sIGxvbmcgbG9uZyBzdGFydCkKewogICAgZm9yKGxvbmcgbG9uZyBpID0gc3RhcnQ7IGkqaSA8PSBOOyBpKz0yKQogICAgewogICAgICAgIGlmIChOJWkgPT0gMCkgcmV0dXJuIGk7CiAgICB9CiAgICByZXR1cm4gTjsKfQoKCmludCBtYWluKCkKewogICAgbG9uZyBsb25nIE4gPSA2MDA4NTE0NzUxNDNsbDsKICAgIGxvbmcgbG9uZyBzdGFydCA9IDM7CgogICAgd2hpbGUoTiUyID09IDApCiAgICB7CiAgICAgICAgcHV0cygiMiIpOwogICAgICAgIE4gLz0gMjsKICAgIH0KCiAgICB3aGlsZShOID4gMSkKICAgIHsKICAgICAgICBzdGFydCA9IGRpdmQoTixzdGFydCk7CiAgICAgICAgTiAvPSBzdGFydDsKICAgICAgICBwcmludGYoIiVsbGRcbiIsc3RhcnQpOwogICAgfQp9