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

class Main {
	public static void main(String args[]) {
		try {
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String t[], s;
			int a[] = new int[2];
			int c;
			while((s = reader.readLine())  != null) {
				t = s.split(" ");
				for(int i = 0;i < a.length;i++) {
					a[i] = Integer.parseInt(t[i]);
				}
				int a0_tmp = a[0], a1_tmp = a[1];
				while(true) {
					c = a0_tmp % a1_tmp;
					if(c == 0)
						break;
					a0_tmp = a1_tmp;
					a1_tmp = c;
				}
				System.out.printf("%d %d\n", a1_tmp, a[0]/a1_tmp*a[1]);

			}

		}
		catch(IOException e) {
			System.out.println(e);
		}
	}
}