#include <iostream>

using namespace std;

unsigned long long int GCD(unsigned long long int a, unsigned long long int b)
{
	if(a % b == 0)
	{
		return(b);
	}
	GCD(b, a % b);
}

void solve()
{
	unsigned long long int a, b;
	while(cin >> a >> b)
	{
		if(a < b)
		{
			swap(a, b);
		}
		unsigned long long int gcd = GCD(a, b);
		cout << gcd << " " << a * b / gcd << endl;
	}
}

int main()
{
	solve();
	return(0);
}