#include <iostream>
using namespace std;
//最小公倍数
int TheMin(int i,int j)
{
int max,min;
max = (i>j)?i:j;
min = (i>j)?j:i;
for(int a = 1;;a++)
{
if(max*a%min == 0)
{
return max*a;
}
}
}
//最大公约数
int TheMax(int i,int j)
{
int max,min,mid;
max = (i>j)?i:j;
min = (i>j)?j:i;
if(max%min == 0)
{
return min;
}
for(int a = 2;;a++)
{
if(min%a == 0)
{
return TheMax(max,min/a);
}
}
}
int main()
{
int i,j,r1,r2;
cin>>i>>j;
r1=TheMin(i,j);
r2=TheMax(i,j);
cout<<r1<<endl<<r2<<endl;
system("pause");
return 0;
}