https://www.acmicpc.net/problem/2609
최대공약수 :gcd
최소공배수 : (num1*num2)/gcd(num1, num2)
n,m=map(int, input().split())
'''
a b
24 18
18 24%18=6
6 18%6==0
'''
def gcd(a,b):
if b==0:
return a
else:
return gcd(b,a%b)
print(gcd(n,m))
print((n*m)//gcd(n,m))#최소공배수 = (n*m)//gcd