N = int(input()) if N==1: exit(print(2)) if N==2: exit(print(3)) res = float('inf') for i in range(1, N+1): if i*i>N: break if N%i==0: if N//i-1>i: res = min(res, N//i-1) for i in range(1, 40): f = False for j in range(2,N+1): sm = 1 for k in range(i+1): sm += pow(j, k+1) if sm>N: f = True break else: if N%sm == 0 and N//sm