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.util.Scanner;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		int a, b;
		int GCD = 0, LCM = 0;
		Scanner scan = new Scanner(System.in);
		while (scan.hasNext()) {
			a = scan.nextInt();
			b = scan.nextInt();
			GCD = 0;
			LCM = 0;
			/* 最大公約数 */
			for (int i = 1; i <= Math.min(a, b); i++) {
				if ((a % i == 0) && (b % i == 0)) {
					GCD = i;
				}
			}
			/* 最小公倍数 */
			for (int i = 1; i <= Math.min(b, 2000000000); i++) {
				 if((a*i)%b==0){
					 LCM = a*i;
					 break;
				 }
			}
			System.out.println(GCD+" "+LCM);
		}
	}

}