#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) { 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; } std::vector flg(M + 1, true); for (int i = 3; i*i <= M; i += 2) { if (flg[i]) { if (M%i == 0) { std::cout << i << " " << M / i << std::endl; return 0; } for (int j = 2; j*i <= M; j++) { flg[j*i] = false; } } } }