#include <bits/stdc++.h>
using namespace std;
int main() {
int a,b;
cin >> a >> b;
int c[min(a,b)];
int d[min(a,b)];
for(int i = 0; i < min(a,b); i++){
c[i] = -10000000;
d[i] = -10000000;
}
int g = 0;
for(int i = 1; i <= min(a,b); i++){
if(a%i == 0 && b % i == 0){
c[i-1] = i;
for(int j = 2 ; j < i; j++){
if(i % j == 0){
break;
}
else if(j == i - 1){
d[i] = i;
g++;
}
}
}
}
sort(c,c+min(a,b), greater<int>());
int da = c[0];
sort(d,d+min(a,b), greater<int>());
int zx = 1;
for(int i = 0; i < g; i++){
zx *= d[i];
}
zx *= a/zx * b/zx;
cout << c[0] << ' ' << zx;
return 0;
}