#include <stdio.h>

// Function top calculate GCD
void gcd_lcm(int x, int y, int *gcd, int
*lcm) {
    int a = x, b = y, temp;
    // Calculate GCD using Euclidean algorithm
    while (b != 0) {
        temp = b;
        b = a % b;
        a = temp;
    }
    *gcd = a;
    //calculate LCM 
    *lcm = (x * y) / (*gcd);
}

int main() {
    int x, y, gcd, lcm;
    scanf("%d", &x);
    scanf("%d", &y);
    
    if (x <= 0 | | y <= 0) {
        printf("Invalid input");
        return 0;
    }
    
    gcd_lcm(x, y, &gcd, &lcm);
    printf("%d %d", gcd, lcm);
    
    return 0;
}