#inculde<stdio.h>
void computeGCDLCM(int a,int b,int*gcd, int *lcm){
    int x=a,y=b;
    while (y!=0){
        int temp= y;
        y=x%y;
        x=temp;
    }
    *gcd=x;
    *lcm=(a*b)/(*gcd);
}
int main(){
    int x,y;
    scanf("%d",&x);
    scanf("%d",&y);
    if(x<=0||y<=0){
        printf("Invalid input");
        return 0;
    }
    int gcd,lcm;
    computeGCDLCM(x,y &gcd,&lcm);
    printf("%d %d",gcd,lcm);
    return 0;
}