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