#include<stdio.h>
long long  GCD(long long m,long long n)
{
    long long t,r;
    if(n>m)
   {
   	t=m;
   	m=n;
	n=t;
	}
	while(n!=0)
	{
		r=m%n;
		m=n;
		n=r;
	}
	return m;
}
long long LCM(long long m,long long n)
{
    long long num;
    num=(n*m)/GCD(m,n);
    return num;
}
int main()
{
    long long n,m;
    while(scanf("%d%d",&n,&m)!=EOF)
    {
        printf("%d %d\n",GCD(m,n),LCM(m,n));
    }
    return 0;

}