Write a program which computes the greatest common divisor (GCD) and the least common multiple (LCM) of given a and b.

Constraints

* 0 < a, b ≤ 2,000,000,000
* LCM(a, b) ≤ 2,000,000,000
* The number of data sets ≤ 50

Input

Input consists of several data sets. Each data set contains a and b separated by a single space in a line. The input terminates with EOF.

Output

For each data set, print GCD and LCM separated by a single space in a line.

Example

Input

8 6
50000000 30000000


Output

2 24
10000000 150000000
import java.io.*;
import java.util.*;
public class Main{
	public static void main(String[] args)throws IOException{
		BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));
		String s;
		while((s=reader.readLine())!=null){
			String[] t=s.split(" ");
			int[] in=new int[2];
			for(int i=0;i<2;i++)
				in[i]=Integer.parseInt(t[i]);
			int a=in[0];
			int b=in[1];
			if(a<b){int tmp=a;a=b;b=tmp;}
			while(b!=0){
				int tmp=a%b;a=b;b=tmp;
			}
			System.out.println(a+" "+(long)in[0]*in[1]/a);
		}
	}
}