#include <iostream>
#include <cstdio>
using namespace std;
//最大公約数
int gcd(int a, int b) {
    if (b == 0) return a;
    else return gcd(b, a%b);
}

//最小公倍数
int lcm(int a, int b) {
    int ret = gcd(a,b);
    ret = a*(b/ret);
    return ret;
}

int main(int argc, const char * argv[])
{
    int a, b;
    while (~scanf("%d %d", &a, &b)) {
        printf("%d %d\n", gcd(a, b), lcm(a, b));
    }
    return 0;
}