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 JAVA (judge verdict: Time Limit Exceeded)

import java.util.*;
public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner (System.in);
		while(sc.hasNext()){
			long a = sc.nextLong();
			long a1 = a;
			long b = sc.nextLong();
			long b1 = b;
			long i;
			if(a <= b){
				for(i = a; i > 0; i--){
					if(a % i == 0 && b % i == 0){
						break;
					}
				}
			}
			else{
				for(i = a; i > 0; i--){
					if(a % i == 0 && b % i == 0){
						break;
					}
				}
			}
			while (a1 != b1) {
				if(a1 <= b1) {
					a1 += a;
				}
				if(b1 <= a1){
					b1 += b;
				}
			}
			System.out.println(i + " " + b1 );
		}
	}

}