#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int t[2];
int ire(int a,int b){
	t[0]=b;t[1]=a;
}
main(){
	int n1,n2,a1,a2;
	while(cin>>n1>>n2){
		t[0]=max(n1,n2);
		t[1]=min(n1,n2);
		for(int i=0;;++i){
			t[0]=t[0]-t[1];
			if(t[0]==0){
				a1=t[1];
				break;
			}
			if(t[0]<t[1])ire(t[0],t[1]);
		}
		a2=(n1/a1)*n2;
		cout<<a1<<" "<<a2<<endl;
	}
}