#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
int GCD = 1; // 최대 공약수
int LCM = 1; // 최소 공배수
int div = 2; // 약수
while (true) {
if (a % div == 0 && b % div == 0) {
a /= div;
b /= div;
GCD *= div;
LCM *= div;
}
else div++;
if (a % div != 0 && b % div != 0) break;
}
LCM = LCM * a * b;
cout << GCD << endl << LCM;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgYSwgYjsKCWNpbiA+PiBhID4+IGI7CgoJaW50IEdDRCA9IDE7IC8vIOy1nOuMgCDqs7Xslb3siJgKCWludCBMQ00gPSAxOyAvLyAg7LWc7IaMIOqzteuwsOyImAoJCglpbnQgZGl2ID0gMjsgLy8g7JW97IiYCgl3aGlsZSAodHJ1ZSkgewoJCWlmIChhICUgZGl2ID09IDAgJiYgYiAlIGRpdiA9PSAwKSB7CgkJCWEgLz0gZGl2OwoJCQliIC89IGRpdjsKCQkJR0NEICo9IGRpdjsKCQkJTENNICo9IGRpdjsKCQl9CgkJZWxzZSBkaXYrKzsKCQlpZiAoYSAlIGRpdiAhPSAwICYmIGIgJSBkaXYgIT0gMCkgYnJlYWs7Cgl9CgkKCUxDTSA9IExDTSAqIGEgKiBiOwoJY291dCA8PCBHQ0QgPDwgZW5kbCA8PCBMQ007CgoJcmV0dXJuIDA7Cn0=