#include<stdio.h>
double gcd(int m,int n)
{
int r,temp;
if(m<n)
{
temp=m;m=n;n=temp;
}
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
double cm(int m,int n)
{
int r,temp,result;
temp=m*n;
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
result=temp/n;
return result;
}
int main()
{
int m,n;
int a,b;
scanf("%d %d",&m,&n);
if(m>0&&n<=1000){
a=gcd(m,n);
b=cm(m,n);
printf("%d %d",a,b);
}
return 0;
}