n = int(input()) ans = n + 1 for i in range(1, 10 ** 6 + 1): if n % i != 0: continue s = n // i for j in range(2, 41): lower = 1 upper = 10 ** 12 while lower + 1 < upper: p = (lower + upper) // 2 sm = (p ** j - 1) // (p - 1) if sm == s: if i < p: ans = min(ans, p) break if sm < s: lower = p else: upper = p print(ans)