#約数全部 def Divisors(N): N=abs(N) L,U=[],[] k=1 while k*k <=N: if N%k== 0: L.append(k) if k*k!=N: U.append(N//k) k+=1 return L+U[::-1] def check(N,r): p=N%r while N: if N%r!=p: return False N//=r return True #================================================ N=int(input()) if N<=2: print(N+1) exit(0) D=Divisors(N) X=float("inf") for a in D: M=N//a B=Divisors(M-1) for p in B: if p>=2 and check(N,p): X=min(X,p) print(X)