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: Wrong Answer)

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO ?????????????????????????????????????????????
		Scanner s = new Scanner(System.in);
		int max,min;
		int[] a = new int[2];
		int[] b = new int[2];
		String str ;
		String[] result;

		
	int counter = 0;
		for(int i = 0; i < a.length;i++){
			str = s.nextLine();
			if(str.length() == 0)
			{
				break;
			}
			
			result = str.split(" ");
			
			a[i] = Integer.parseInt(result[0]);
			b[i] = Integer.parseInt(result[1]);
		}
		for(int i = 0; i < a.length;i++){
			int x = a[i];
			int y = b[i];
			while(x!=y){
				if(x>y){
					y += b[i];
				}else{
					x += a[i];
				}
			}
			min = x;
			max = (int)((long)a[i] * b[i] / min);
			System.out.println(max+" "+min);

		}
		


	}
}