import math def find_smallest_prime_factor(d): if d % 2 == 0: return 2 max_divisor = int(math.isqrt(d)) + 1 for i in range(3, max_divisor, 2): if d % i == 0: return i return d # d is prime def main(): N = int(input().strip()) if N % 2 == 0: d = N while d % 2 == 0: d //= 2 if d == 1: print(4) else: print(find_smallest_prime_factor(d)) else: print(find_smallest_prime_factor(N)) if __name__ == "__main__": main()