Problem:
GCD and LCM

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

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.

Constraints

0 < a, b ≤ 2,000,000,000

LCM(a, b) ≤ 2,000,000,000

The number of data sets ≤ 50

Output

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

Sample Input

8 6
50000000 30000000

Output for the Sample Input

2 24
10000000 150000000

Solution in C# (judge verdict: Accepted)

public class Hello{
    public static void Main(){
        string Input;
        string[] SplittedInput;
        int a,b,gcd,lcm;
        while((Input = System.Console.ReadLine()) != null){
            SplittedInput = Input.Split(' ');
            a = int.Parse(SplittedInput[0]);
            b = int.Parse(SplittedInput[1]);
            gcd = EuclideanAlgorithm(a,b);
            lcm = b * (a / gcd); 
            System.Console.WriteLine(gcd + " " + lcm);
        }
    }
    
    public static int EuclideanAlgorithm(int a, int b){
        int Modulo = a % b;
        if(Modulo == 0){
            return b;
        }
        return EuclideanAlgorithm(b, Modulo);
    }
}