#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define fix(n) cout<; const ll MOD = 1000000007; // 10^9 + 7 const int dx[8] = {1, 0, -1, 0, 1, -1, -1, 1}; const int dy[8] = {0, 1, 0, -1, 1, 1, -1, -1}; vector

factor(ll n) { vector

ret; ll q = n; for (ll d = 2; d * d <= n; d++) { if (q % d > 0) continue; ll cnt = 0; while (q % d == 0) { cnt++; q /= d; } ret.push_back(make_pair(d, cnt)); } if (q > 1) ret.push_back(make_pair(q, 1)); return ret; } void solve() { ll N, K; cin >> N >> K; if (N % 2 == 0) { outl(N / 2); return; } vector

v = factor(N); if (v.size() == 1 && v[0].second == 1) outl(1); else outl(v[v.size()-1].first); } signed main() { cin.tie(0); ios::sync_with_stdio(false); srand((unsigned)time(NULL)); fix(12); solve(); }