#include<stdio.h>
int yueshu(int a,int b){
int t;
if(a<b){
t=a;a=b;b=t;
}
while(b!=0){
t=a%b;
a=b;
b=t;
}
return a;
}
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d",yueshu(a,b),a*b/yueshu(a,b));
}
#include<stdio.h>
int yueshu(int a,int b){
int t;
if(a<b){
t=a;a=b;b=t;
}
while(b!=0){
t=a%b;
a=b;
b=t;
}
return a;
}
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d %d",yueshu(a,b),a*b/yueshu(a,b));
}