#include <stdio.h>

int CalculateGDP(int a, int b) {
    while (b != 0) {
        int temp = b;
        b = a % b;
        a = temp;
    }
    return a;
}

void calculateGDPandLCM(int num1, int num2, int *gdf_ptr, int *lcm_ptr) {
    *gcd_ptr = CalculateGDP(num1, num2);
    *lcm_ptr = (long, long)num1 * num2 / *gdp_ptr;
}

int main() {
    int x, y;
    if(scanf("%d %d", &x, &y) != 2) {
        printf("Invalid input\n");
        return 1;
    }
    if(x <= 0 || y <= 0) {
        printf("Invalid input\n");
        return 1;
    }
    int gcd, lcm;
    
    calculateGDPandLCM(x, y, &gcd, &lcm);
    printf("%d %d\n", gcd, lcm);
    
    return 0;
}