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

using System;
using System.Collections.Generic;

namespace test
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			string input;
			List<List<int>> outList = new List<List<int>> ();
			while ((input = Console.ReadLine()) != null) {
				string[] array = input.Split (' ');
				List<int> list = new List<int> ();
				foreach (string s in array) {
					list.Add (int.Parse(s));
				}

				outList.Add (Euclid(list));	
			}

			foreach (List<int> tmp in outList) {
				Console.WriteLine ("{0} {1}",tmp[0],tmp[1]);
			}

		}

		static List<int> Euclid(List<int> list){
			int a = list [0];
			int b = list [1];

			while (a!=b) {
				if (a > b) {
					a = a - b;
				} else {
					b = b - a;
				}
			}

			int lcd = Math.Abs(list [0] * list [1] / a);
			list [0] = a;
			list [1] = lcd;

			return list;
		}
	}
}