#include<bits/stdc++.h>
using namespace std;
int s[100000005];
int main()
{
long long a,b,tot=0,gcd=1,lcm=1;
cin >> a >> b;
if (a > b)
swap(a,b);
if (a % b == 0 || b % a == 0) {
gcd = a;
lcm = b;
cout << gcd << ' ' << lcm;
return 0;
}
for (int i = 2;i <= max(a,b);i++){
if (a / i != 0 && b / i != 0){
if (a % i == 0 && b % i == 0){
s[++tot] = i;
a/=i;
b/=i;
}
}
}
for (int i = 1;i <= tot;i++){
gcd *= s[i];
lcm *= s[i];
}
lcm = lcm * a * b;
cout << gcd << ' ' << lcm;
return 0;
}
这貌似是我第一次在测试点里看见3种颜色