a, b = list(map(int, input().split()))

def get_gcf(a, b):
    # num_1 => num_2
    num_1 = a if a >= b else b
    num_2 = b if num_1 == a else a
    
    if(num_1 % num_2) == 0:
        return num_2
    else:
        while(num_1 % num_2):
            gcf = num_1 % num_2
            num_1 = num_2
            num_2 = gcf

        return gcf

gcf = get_gcf(a, b) # 최대공약수
lcm = (a * b) // gcf # 최소공배수

print(f'{gcf}\n{lcm}')

'# 코딩 문제 관련 > 파이썬' 카테고리의 다른 글

백준 3036번(python)  (0) 2020.04.19
백준 2981번(python)  (1) 2020.04.18
백준 1037번(python)  (0) 2020.04.09
백준 5086번(python)  (0) 2020.04.09
백준 11653번(python)  (0) 2020.04.01