欧几里得算法
## 求最大公约数
## 辗转相除法
## gcd(a,b)=gcd(b,a%b)
def gcd(a,b):
if b==0:
return a
else:
return gcd(b,a%b)
## 求最小公倍数
def lcm(a,b):
## 欧几里得
## 先求最大公约数
d=gcd(a,b)
result=a*b//d
return result
a,b=map(int,input().strip().split())
print(gcd(a,b))
print(lcm(a,b))