#include using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i> n; map p_fact; for(int i = 2; i*i <= n; ++i){ if(n % i != 0) continue; int ex = 0; while(n % i == 0){ n /= i; ex++; } p_fact[i] = ex; } if(n != 1) p_fact[n] = 1; int a = 1, b = 1; for(auto p : p_fact){ rep(i, 0, p.second/2){ a *= p.first; } if(p.second % 2 == 1){ b *= p.first; } } cout << a << ' ' << b << endl; return 0; }