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