- #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=