#include //const static double de_PI = 3.14159265358979323846; //const static int de_MOD = 1000000007; //const static int de_MAX = 999999999; //const static int de_MIN = -999999999; int main(void) { //std::ifstream in("123.txt"); std::cin.rdbuf(in.rdbuf()); unsigned long long M = 0; std::cin >> M; if (M % 2 == 0) { std::cout << "2 " << M / 2 << std::endl; return 0; } switch (M) { case 1:std::cout << "1 1" << std::endl; return 0; case 3:std::cout << "1 3" << std::endl; return 0; case 5:std::cout << "1 5" << std::endl; return 0; case 7:std::cout << "1 7" << std::endl; return 0; } for (unsigned long long i = 3; i*i <= M; i += 2) { if (M%i == 0) { std::cout << i << " " << M / i << std::endl; return 0; } } std::cout << 1 << " " << M << std::endl; }