#include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = unsigned; using u64 = unsigned long long; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; int main() { int n; cin >> n; int a = 1, b = n; for (int i = 2; i*i <= n; ++i) { while(b%(i*i) == 0){ b /= i*i; a *= i; } } printf("%d %d\n", a, b); return 0; }