n = int(input()) ans = n + 1 for i in range(1, int(n ** 0.5 + 9)): if n % i != 0: continue s = n // i for j in range(2, 41): lower = 1 upper = int(s ** (1 / (j - 1)) + 9) 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)