def check(i): x = n y = -1 while x: q,r = x//i,x%i if y != -1 and y != r: return False y = r x //= i return True n = int(input()) yaku = [] for i in range(2,2*10**6): if check(i): print(i) break if n%i == 0: yaku.append(n//i) else: for i in yaku: p = n//i - 1 if p*p > n: print(p) break