#include #include #include #include #include #include #include using namespace std; #define int long long #define rep(i,n) for(int i = 0; i < (n); i++) #define INF ((long long)1e18) #define MOD ((int)1e9+7) #define endl "\n" #define yn(f) ((f)?"Yes":"No") #define YN(f) ((f)?"YES":"NO") #define MAX 110000 #define MAX_PN 1100000 int PN[MAX_PN+2]; int used[MAX], fuga[MAX]; void huga(int t, int x){ if(PN[t]) return; for(int i = t*t; i <= x; i+=t) PN[i] = true; } void Sieve_of_Eratosthenes(int x){ PN[0]=PN[1]=PN[4]=true; for(int i = 6; (i-1)*(i-1) <= x; i+=6) huga(i-1,x),huga(i+1,x); for(int i = 6; i <= x; i+=6) PN[i]=PN[i+2]=PN[i+3]=PN[i+4]=true; } signed main(){ // cin.tie(0); // ios::sync_with_stdio(false); cout<>N>>K; Sieve_of_Eratosthenes(N); vector d, s; t = N; for(int i = 2; i*i <= t; i++){ if(t%i == 0)s.push_back(i); while(t%i == 0){ d.push_back(i); used[i]++; t /= i; } } if(t != 1){ used[t]++; d.push_back(t); s.push_back(t); } sort(d.begin(), d.end()); sort(s.begin(), s.end()); // cout<= K){ int num = i, con = 0, con2 = 1; for(int j = 2; j*j <= num; j++){ con = 0; while(num%j == 0){ con++; num /= j; } con2 *= con+1; } if(num != 1) con2 *= 2; // cout< max_){ max_ = con2; ans = i; } } } // for(int i = 1; i <= N; i++){ // cout<