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



mx = max(a, b)



gcd = 1

for i in range(1, mx + 1):

    if a % i == 0 and b % i == 0:

        gcd = i



ans = a * b // gcd

print(ans)

def gcd(x, y):

    if x == 0:

        return y



    x, y = y % x, x

    return gcd(x, y)





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



ans = a * b // gcd(a, b)

print(ans)

a, b = list(map(int, input().split()))
mx = max(a, b)
gcd = 1
for i in range(1, mx + 1):
    if a % i == 0 and b % i == 0:
        gcd = i
ans = a * b // gcd
print(ans)

def gcd(x, y):
    if x == 0:
        return y
    x, y = y % x, x
    return gcd(x, y)


a, b = list(map(int, input().split()))
ans = a * b // gcd(a, b)
print(ans)

+def gcd(x, y): +    if x == 0: +        return y +    x, y = y % x, x +    return gcd(x, y) + + -mx = max(a, b) -gcd = 1 -for i in range(1, mx + 1): -    if a % i == 0 and b % i == 0: -        gcd = i -ans = a * b // gcd +ans = a * b // gcd(a, b)