#include #include #include #include #include #include #include #include #include #include #define ALL(obj) (obj).begin(),(obj).end() #define RALL(obj) (obj).rbegin(),(obj).rend() #define P pair #define MOD 1000000007 #define INF 1012345678 #define NINF (-2147483647-1) #define LLINF 9223372036854775807 using ll = long long; using namespace std; int main() { ll M; cin >> M; int N = 1000000; // エラトステネスの篩 // N以下の素数 vector isprime(N + 1, true); vector prime; for (int i = 2; i*i <= N; i++) { if (isprime[i]) { for (int j = i + i; j <= N; j += i) { isprime[j] = false; } } } for (int i = 2; i < N; i++) { if (isprime[i]) { prime.push_back(i); } } for (int i = 0; i < prime.size(); i++) { if (M % prime[i] == 0) { cout << prime[i] << " " << M / prime[i] << endl; getchar(); getchar(); return 0; } } cout << 1 << " " << M << endl; getchar(); getchar(); }