import math

A, B = list(map(int,input().split()))



# aとbの最大公約数

def gcd(a,b):

    if b == 0:

        return a

    return gcd(b,a%b)



# aとbの最小公倍数

# a*b = lcm(a,b)*gcd(a,b) より

def lcm(a,b):

    return a*b//gcd(a,b)



print((lcm(A,B)))

A, B = list(map(int,input().split()))

def gcd(a,b):

    if b == 0:

        return a

    return gcd(b,a%b)

def lcm(a,b):

    return a*b//gcd(a,b)

print((lcm(A,B)))

import math

A, B = list(map(int, input().split()))
# aとbの最大公約数
def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)


# aとbの最小公倍数
# a*b = lcm(a,b)*gcd(a,b) より
def lcm(a, b):
    return a * b // gcd(a, b)


print((lcm(A, B)))

A, B = list(map(int, input().split()))


def gcd(a, b):
    if b == 0:
        return a
    return gcd(b, a % b)


def lcm(a, b):
    return a * b // gcd(a, b)


print((lcm(A, B)))

-import math +A, B = list(map(int, input().split())) -A, B = list(map(int, input().split())) -# aとbの最大公約数 + -# aとbの最小公倍数 -# a*b = lcm(a,b)*gcd(a,b) より