#include<stdio.h>
long long gcd_func(long long a,long long b){
    if(b==0){
        return a;
    }
    return gcd_func(b,a%b);
}
long long lcm_func(long long a,long long b){
    if(a==0||b==0){
        return 0;
    }
    return(a/gcd_func(a,b))*b;
}
int main(){
    long long x,y;
    if(scanf("%lld",&x)!=1||scanf("%lld",&y)!=1){
        printf("Invalid input\n");
        return 0;
    }
    long long result_gcd=gcd_func(x,y);
    long long result_lcm=lcm_func(x,y);
    printf("%lld %lld\n",return_gcd,result_lcm);
    return 0;
    }