- #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++) { 
- 		if (n % i == 0 && isPrime(i)) { 
- 			n = n / i; 
- 		} 
- 	} 
- 	return 0; 
- } 
-   
				I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CgppbnQgaXNQcmltZShpbnQgbikgewoJaWYgKG4gPT0gMSB8fCBuID09IDIgfHwgbiA9PSAzKQoJCXJldHVybiAxOwoJaWYgKG4gJSAyID09IDAgfHwgbiAlIDMgPT0gMCkKCQlyZXR1cm4gMDsKCWludCBzcXJ0X24gPSAoaW50KXNxcnQoKGRvdWJsZSluKTsKCWludCBrID0gLTE7CglkbyB7CgkJayArPSA2OwoJCWlmIChuICUgayA9PSAwIHx8IG4gJSAoayArIDIpID09IDApCgkJCWJyZWFrOwoJfSB3aGlsZSAoayA8IHNxcnRfbik7CglyZXR1cm4gayA+IHNxcnRfbjsKfQoKaW50IG1haW4oKSB7CglpbnQgbixpOwoJcHJpbnRmICgibmhhcCBzbyBuOiAiKTsKCXNjYW5mICgiJWQiLCZuKTsKCXByaW50ZiAoImNhYyB0aHVhIHNvIG50bzogIik7Cglmb3IgKGkgPSAyOyBpIDw9IG47IGkrKykgewoJCWlmIChuICUgaSA9PSAwICYmIGlzUHJpbWUoaSkpIHsKCQkJcHJpbnRmKCJcbiVkIiwgaSk7CgkJCW4gPSBuIC8gaTsKCQl9Cgl9CglyZXR1cm4gMDsKfQo=