/** * @FileName b.cpp * @Author kanpurin * @Created 2020.05.29 21:24:37 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; // 素因数分解 O(√n)以下 // (素因数,個数) template < typename T > vector< pair< T, int > > prime_factorization(T n) { vector< pair< T, int > > res; for (T i = 2; i * i <= n; i++) { int cnt = 0; while (n % i == 0) { n /= i; cnt++; } if (cnt > 0) res.push_back({i, cnt}); } if (n > 1) res.push_back({n, 1}); return res; } int main() { int n; cin >> n; if (n == 1) { cout << 1 << " " << 1 << endl; return 0; } auto v = prime_factorization(n); int ans2 = 1; int ans1 = 1; for (auto p : v) { if (p.second & 1) { ans2 *= p.first; } ans1 *= (int)pow(p.first,p.second / 2); } cout << ans1 << " " << ans2 << endl; return 0; }