#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
long long gcd(long long a,long long b)
{
	long long c;
	while (a%b!=0) {
		c=a%b;
		a=b;
		b=c;
	}
	return b;
}
int main()
{
	//freopen("GCDLCM.in","r",stdin);
	//freopen("GCDLCM.out","w",stdout);
	long long a,b,maxy,minb;
	while (cin>>a>>b) {
		maxy=gcd(a,b);
		minb=a*b/maxy;
		cout<<maxy<<" "<<minb<<endl;
	}
	return 0;
}