#include<stdio.h>
//编写最大公约数GCD函数
/*********Begin*********/
int GCD(long long int a,long long int b)
{
long long int c,d;
if(a>0&&b>0)
{
if(a<b)
{
c=b;
b=a;
a=c;
}
while(b!=0)
{
d=a%b;
a=b;
b=d;
}
return a;
}
}
/*********End**********/
//编写最小公倍数LCM函数
/*********Begin*********/
/*********End**********/
int main(void)
{
/*********Begin*********/
long long int a,b,gy,gb;
scanf("%lld%lld",&a,&b);
if(a<0||b<0)
{
printf("Input Error");
return 0;
}
gy=GCD(a,b);
gb=(a*b)/gy;
printf("%lld %lld",gy,gb);
/*********End**********/
return 0;
}