#include using namespace std; using ll = long long; #define FOR(i,a,b) for(ll i=(a);i<(b);++i) #define ALL(v) (v).begin(), (v).end() #define p(s) cout<<(s)< void vprint(T &V){ for(auto v : V){ cout << v << " "; } cout << endl; } bool isPrime(ll n){ if (n < 2) return false; else if (n == 2) return true; else if (n % 2 == 0) return false; double sqrtNum = sqrt(n); for (ll i=3; i<=sqrtNum; i+=2){ if (n%i == 0){ return false; } } return true; } map factorize(ll n){ map mp; ll sq = sqrt(n); FOR(i, 2, sq+1){ while(n%i==0){ mp[i]++; n/=i; } } // 残り if(n!=1){ mp[n]++; } return mp; } int main(){ cin.tie(0); ios::sync_with_stdio(false); // input ll N, K; cin >> N >> K; if(isPrime(N)){ p(1); return 0; } auto mp = factorize(N); vector A; for(auto p : mp){ A.push_back(p.first); } ll yaku = A[0]; p(N/yaku); return 0; }