#include<stdio.h>
void gcd(int *x, int *y, int *result_gcd){
    int a= *x;
    int b= *y;
    while (a!=b){
        if(a>b){
            a -=b;
        }else{
            b -=a;
        }
    }
    *result_gcd = a;
}
voiod lcm(int *x,int *y, int result_gcd, int *result_lcm){
    *result_lcm = (*x * *y)/result_gcd;
}
int main(){
    int x,y, result_gcd, result_lcm;
    scanf("%d",&x);
    scanf("%d",&y);
    if(x <= 0 || y <= 0){
        printf("Invalid input\n");
    }else {
        gcd(&x,&y,&result_gcd);
        lcm(&x,&y,result_gcd,&result_lcm);
        printf("%d %d\n", result_gcd,result_lcm);
    }
    return 0;
}