#include using namespace std; typedef long long ll; #define REP(i,n) for(ll i=0; i #define VP vector> #define VPP vector>> #define VLL vector #define VVI vector> #define VVLL vector> #define VC vector #define VS vector #define VVC vector> #define VB vector #define VVB vector> #define fore(i,a) for(auto &i:a) typedef pair P; template using min_priority_queue = priority_queue, greater>; const int INF = 1 << 29; const ll INFL = 1LL << 60; const ll mod = 1000000007; int main() { ll n; cin >> n; ll ans = n; if (n % 2 == 0 && n != 4)ans /= 2; for (ll i = 3; i*i <= n; i++) { if (n%i == 0) { ans = i; break; } } cout << ans << endl; }