辗转相除法
#include<bits/stdc++.h>
using namespace std;
int gcd(int x,int y){
int MAX=max(x,y);
int MIN=min(x,y);
return MAX%MIN==0?MIN:gcd(MIN,MAX%MIN);
}
int lcm(int x,int y){
return x*y/gcd(x,y);
}
int main(){
int x,y;
cin>>x>>y;
int g,l;
g=gcd(x,y);
l=lcm(x,y);
cout<<g<<" "<<l<<endl;
return 0;
}