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

 

# aの倍数を順に探索する

# abはa, bの公倍数なので、高々B回で十分。O(B)

lcm = 0

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

  if (a * i) % b == 0:

    lcm = a * i

    break

  

print(lcm)
import math

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



# 最小公倍数lcmと最大公約数gcdに成り立つ関係：gcd(a,b)*lcm(a,b)=ab を用いる

print((a * b // math.gcd(a, b)))
a, b = list(map(int, input().split()))
# aの倍数を順に探索する
# abはa, bの公倍数なので、高々B回で十分。O(B)
lcm = 0
for i in range(1, b + 1):
    if (a * i) % b == 0:
        lcm = a * i
        break
print(lcm)

import math

a, b = list(map(int, input().split()))
# 最小公倍数lcmと最大公約数gcdに成り立つ関係：gcd(a,b)*lcm(a,b)=ab を用いる
print((a * b // math.gcd(a, b)))

+import math + -# aの倍数を順に探索する -# abはa, bの公倍数なので、高々B回で十分。O(B) -lcm = 0 -for i in range(1, b + 1): -    if (a * i) % b == 0: -        lcm = a * i -        break -print(lcm) +# 最小公倍数lcmと最大公約数gcdに成り立つ関係：gcd(a,b)*lcm(a,b)=ab を用いる +print((a * b // math.gcd(a, b)))