#include <stdio.h>
#include <math.h>
int isPrime(int n) {
if (n == 1 || n == 2 || n == 3)
return 1;
if (n % 2 == 0 || n % 3 == 0)
return 0;
int sqrt_n
= (int)sqrt((double)n
); int k = -1;
do {
k += 6;
if (n % k == 0 || n % (k + 2) == 0)
break;
} while (k < sqrt_n);
return k > sqrt_n;
}
int main() {
int n,i;
for (i = 2; i <= n; i++) {
while (n % i == 0) {
if (isPrime(i)) {
n /= i;
}
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiAKaW50IGlzUHJpbWUoaW50IG4pIHsKCWlmIChuID09IDEgfHwgbiA9PSAyIHx8IG4gPT0gMykKCQlyZXR1cm4gMTsKCWlmIChuICUgMiA9PSAwIHx8IG4gJSAzID09IDApCgkJcmV0dXJuIDA7CglpbnQgc3FydF9uID0gKGludClzcXJ0KChkb3VibGUpbik7CglpbnQgayA9IC0xOwoJZG8gewoJCWsgKz0gNjsKCQlpZiAobiAlIGsgPT0gMCB8fCBuICUgKGsgKyAyKSA9PSAwKQoJCQlicmVhazsKCX0gd2hpbGUgKGsgPCBzcXJ0X24pOwoJcmV0dXJuIGsgPiBzcXJ0X247Cn0KIAppbnQgbWFpbigpIHsKCWludCBuLGk7CglwcmludGYgKCJuaGFwIHNvIG46ICIpOwoJc2NhbmYgKCIlZCIsJm4pOwoJcHJpbnRmICgiY2FjIHRodWEgc28gbnRvOiAiKTsKCWZvciAoaSA9IDI7IGkgPD0gbjsgaSsrKSB7CgkJd2hpbGUgKG4gJSBpID09IDApIHsKCQkJaWYgKGlzUHJpbWUoaSkpIHsKCQkJCXByaW50ZigiXG4lZCIsIGkpOwoJCQkJbiAvPSBpOwoJCQl9CgkJfQoJfQoJcmV0dXJuIDA7Cn0=