#include <bits/stdc++.h>
using namespace std;
typedef long long LL;

LL GCD(LL a,LL b){ // a>=b とする
	if(a%b) return GCD(b,a%b);
	return b;
}

int main(){
	LL a,b;
	while(cin>>a>>b){
		LL gcd=GCD(max(a,b),min(a,b));
		cout<<gcd<<" "<<a*b/gcd<<endl;
	}
	return 0;
}

