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 Ruby (judge verdict: Accepted)

while line = gets
    a,b =line.split.map{|item| item.to_i}
    printf("%d %d\n", a.gcd(b), a.lcm(b))
end

#または

#loop do 
    #line = gets 
    #break unless line
    #a,b = line.split.map(&:to_i)

    
#while 繰り返し続ける条件 do
    #繰り返したい処理
#end
#(doは省略可能)

#while文で入力ファイルを行ごとに取得している
#getsは標準入力もしくは第一引数の内容を，文字列として一行ずつ得ることができる
#ここではgetsの内容をlineに入れて，lineがnilになるまでwhileで繰り返しています．

#while line = gets で.「lineがnilになるまで、getsする」つまり、
#「全部の行の入力を得るまで繰り返す」.ということになる.これが「繰り返し続ける条件」