#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define INF ((1<<30)-1) #define rep(i,n) for(int i=0;i<(int)(n);i++) #define all(v) v.begin(),v.end() int main() { ios::sync_with_stdio(0); cin.tie(0); long long n; cin >> n; for (long long i = 2; i * i <= n; i++) { long long rem = n % i; long long m = n; bool ok = true; while (m) { if (m % i != rem) { ok = false; break; } m /= i; } if (ok) { cout << i << endl; return 0; } } cout << max(2LL, n - 1) << endl; return 0; }