// tested on node version 0.10.36
var fs = require("fs");
function gcd(a, b) {
    // make sure a > b
    var t = a;
    if(b > a) {
        a = b;
        b = t;
    }
    while(b != 0) {
        t = b;
        b = a % b;
        a = t;
    }
    return a;
}

var input = fs.readFileSync('/dev/stdin').toString();
var lines = input.split("\n");
for(var i = 0; i < lines.length; i++) {
    var parts = lines[i].split(" ");
    var a = parseInt(parts.shift());
    var b = parseInt(parts.shift());
    if(!isNaN(a + b)) {
        var g = gcd(a, b);
        var lcm = (a * b) / g;
        console.log(g, lcm);
    }
}