#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; int main() { ll N; cin >> N; for (ll i = 3; i * i <= N; i++) if (N % i == 0) { cout << i << endl; return 0; } if (N % 2 == 0 && N != 2 && N != 4) cout << N / 2 << endl; else cout << N << endl; }