#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define float long long int
vector<ll>v;
vector<pair<ll,ll>>vec;
ll div(ll x)
{

    for(ll i=1;i*i<=x;i++)
    {
        if(x%i==0)
        {
            if(x/i==i){v.push_back(i);v.push_back(x);}
            else{v.push_back(i);v.push_back(x/i);}
        }
    }
}
int main()
{

    int x,ans=1e18,p,q,r;
    cin>>x;
    div(x);
    sort(v.begin(),v.end());
    for(int i=0;i<v.size();i++)
    {
        for(int j=i+1;j<v.size();j++)
        {
            if(((v[i]*v[j])/__gcd(v[i],v[j]))==x && v[i]!=x && v[j]!=x)
            {
               vec.push_back(make_pair(v[i],v[j]));
            }
        }
    }


    vec.push_back(make_pair(1,x));
    for(int i=0;i<vec.size();i++)
    {
        p=max(vec[i].first,vec[i].second);
        if(ans>p)
        {
            ans=p;
            q=vec[i].first;
            r=vec[i].second;
        }
    }
    cout<<q<<" "<<r<<endl;

    return 0;
}
