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.*;
class Main{
    public static void main(String[] args)throws IOException{
	Scanner s = new Scanner(System.in);
	long a,b;
	
	while(s.hasNext()){
	    a=s.nextInt();
	    b=s.nextInt();
	    System.out.println(getGCD(a,b)+" "+getLCM(a,b));
	    /* System.out.println(a*b);*/
	}
    }
    
    
  
    
    static long getGCD(long a, long b){
	if(b==0)
	    return a;
	else return getGCD(b ,a%b);
	
	    }

      static long getLCM(long a,long b){
	  return a*b/(getGCD(a,b));
    }
}