import std.stdio,std.string,std.conv,std.algorithm,std.math;
void main(){
	//auto readline = to!int(readln().chomp());
	for( ; ; ){
		auto line = readln().chomp();
		if(line){
			auto arr = split(line);
			check( to!int(arr[0]),to!int(arr[1]));
		}else{
			break;
		}
	}
}
void check(uint x,uint y){
	uint i;
	for( i=max(x,y); 0<i ; i-- ){
		if( x%i==0 && y%i==0 ){
			write(i," ");
			break;
		}
	}
	for( i=min(x,y); i<uint.max ; i++ ){
		if( i%x==0 && i%y==0 ){
			writeln(i);
			break;
		}
	}
}