#include <iostream>

using namespace std;
//辗转相除法求解a,b的最大公约数，使用前a、b请自行取绝对值
int gcd(long long a,long long b)
{
    if(b==0) return a;
    return gcd(b,a%b);
}

int main()
{
    long long a,b;
    while(cin>>a>>b) {
        cout<<gcd(a,b)<<" "<<a*b/gcd(a,b)<<endl;
    }
    return 0;
}
