#include /** * @title 素因数分解 * @docs prime_factorize.md */ auto prime_factorize(int64_t n){ std::vector> ret; for(int64_t i = 2LL; i * i <= n; ++i){ if(n % i == 0){ int64_t c = 0; while(n % i == 0){ n /= i; ++c; } ret.emplace_back(i, c); } } if(n != 1) ret.emplace_back(n, 1); return ret; } int main(){ int N; while(std::cin >> N){ auto res = prime_factorize(N); int a = 1, b = 1; for(auto [x, c] : res){ for(int i = 0; i < c/2; ++i){ a *= x; } if(c % 2 == 1){ b *= x; } } std::cout << a << " " << b << "\n"; } return 0; }