#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define repr(i, a, b) for (int i = (int)(a); i < (int)(b); i++) #define rep(i, n) repr(i, 0, n) #define INF 2e9 #define MOD 1000000007 //#define MOD 998244353 #define LINF (long long)4e18 #define jck 3.141592 const double EPS = 1e-10; using ll = long long; using Pi = pair; using Pl = pair; int main(){ ll n; cin >> n; if(n == 1 || n == 2){ cout << n+1 << endl; return 0; } for(ll i = 2; i*i < n; i++){ ll d = n%i; ll ni = i; bool ok = true; while(ni <= n){ if(n/ni%i != d) ok = false; ni *= i; } if(ok){ cout << i << endl; return 0; } } ll ans = n-1; for(ll i = 2; i*i <= n; i++){ if(n%i == 0){ ll m = n/i; if(m-1 > i){ ans = min(ans,m-1); } } } cout << ans << endl; }