program main
  implicit none
  integer(8) :: a, b
  read (*, *) a, b

  write (*, "(i0)") a * b / gcd(a, b)
  contains

  function gcd(x, y) result(a)
    integer(8), intent(in) :: x, y
    integer(8) :: a, b, r
    a = max(x, y)
    b = min(x, y)
    do while (b > 0)
      r = mod(a, b)
      a = b
      b = r
    end do
  end function gcd
end program main
