#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){
        printf("invalid input");
        return 0;
    }
    int g=gcd(&x,&y);
    int l=lcm(&x,&y);
    printf("%d %d",g,l);
    return 0;
}