#include<stdio.h>
//编写最大公约数GCD函数
/*********Begin*********/
int max(long long int m,long long int n){
long long int q,a,b;
if(m<n)
{
q=m;
m=n;
n=q;
}
a=m*n;
b=m%n;
while(b!=0)
{
m=n;
n=b;
b=m%n;
}
return(n);
}
/*********End**********/
//编写最小公倍数LCM函数
/*********Begin*********/
int min(long long int m,long long int n)
{
return (long long)m*n/max(m,n);
}
/*********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=max(a,b);
gb=(a*b)/gy;
printf("%lld %lld",gy,gb);
/*********End**********/
return 0;
}
06-10
1778

04-24
2175

12-12
1011

12-19
1904
