def check(i): x = n y = -1 while x: r = x%i if y != -1 and y != r: return False y = r x //= i return True n = int(input()) yaku = [1] 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[::-1]: p = n//i - 1 if p > i: print(p) break