#include<iostream>
using namespace std;
int tempmax(int &m,int &n)
{
	int temp;
	temp=m;
	m=n;
	n=temp;
	return 0;
}
int gcd(int m,int n)
{
	int r;
	if(n>m)
	tempmax(m,n);
	do
	{
		r=m%n;
		m=n;
		n=r;
	}while(r!=0);
	return m;
	
}
int main()
{
	int n,m,temp,i,max;
	long long min;
	while(cin>>m>>n)
	{
		max=gcd(m,n);
		min=m/max*n;
		cout<<max<<" "<<min<<endl;
		
		
	}
	return 0;
 } 