#includeusing namespace std;class GcdLcm{private: int a; int b;public: GcdLcm(); gcd(int,int); lcm(int,int);};int GcdLcm::gcd(int a,int b) { while(b != 0) { int t = a; a = b; b = t % b; } return a;}int GcdLcm::lcm(int a,int b){ return a * b / gcd(a, b);}int main(){ GcdLcm gcd; GcdLcm lcm; int a,b; while(cin >> a >> b) { cout <<gcd(a, b) << " " <<lcm(a,b); } return 0;}
#include<iostream>
using namespace std;
class GcdLcm {
private:
int a;
int b;
public:
GcdLcm() {}
int gcd(int a, int b);
int lcm(int a, int b);
};
int GcdLcm::gcd(int a, int b)
{
while (b != 0) {
int t = a;
a = b;
b = t % b;
}
return a;
}
int GcdLcm::lcm(int a, int b)
{
return a * b / gcd(a, b);
}
int main()
{
GcdLcm gcd;
GcdLcm lcm;
int a, b;
while (cin >> a >> b)
{
cout << gcd.gcd(a, b) << " " << lcm.lcm(a, b);
}
return 0;
}