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.regex.*;

public class Main {
	public static void main(String[] args) throws IOException {
		Pattern pattern = Pattern.compile("([0-9]+) *([0-9]+)");
		String str = "";
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		while((str=bf.readLine())!=null){
			Matcher matcher = pattern.matcher(str);
			if(!matcher.matches())break;
			int a,b,c,d,e,f;
			a=c=Integer.parseInt(matcher.group(1));
			b=d=Integer.parseInt(matcher.group(2));
			while((c*d)!=0){
				if(c>d)
					c%=d;
				else
					d%=c;
			}
			e=c+d;
			f=a/e*b/e*e;
			System.out.println(""+e+" "+f);
		}
		bf.close();
	}
}