import math N=int(input()) div=[] for d in range(1,10**6): if N%d==0: div+=[d,N//d] ans = N + 1 for d in div: n = N // d for L in range(1,60): ok = n + 1 if L == 1 else (1+int(math.pow(n, 1/(L-1)))) ok = min(ok, n + 1) ng = d while ok - ng > 1: m = (ok + ng) // 2 if (m**L - 1) / (m - 1) >= n: ok = m else: ng = m if ok > d and (ok**L - 1) % (ok - 1) == 0 and (ok**L - 1) // (ok - 1) == n: ans = min(ans, ok) print(ans)