#include <iostream>
#include <sstream>
//#include <fstream>

using namespace std;

int gcd (int a, int b)
{
	if (a > b ){
		swap (a, b );
	} // end if
	while (b % a != 0 ){
		b = b % a;
		if (a > b ){
			swap (a, b );
		} // end if
	} // end while

	return a;
}

int lcm (int a, int b )
{
	int res = a / gcd (a, b );
 	res *= b;

	return res;
}

int main()
{
//	cut here before submit 
//	freopen("testcase.gl", "r", stdin);
	string str = "";

	while (getline (cin, str ) ) {
		int a, b;
		stringstream ss (str );
		ss >> a >> b;
		cout << gcd (a, b ) << ' ' << lcm (a, b ) << endl;
	} // end for

	return 0;
}