Problem:
Score : 300 points

Problem Statement

Takahashi is organizing a party.

At the party, each guest will receive one or more snack pieces.

Takahashi predicts that the number of guests at this party will be A or B.

Find the minimum number of pieces that can be evenly distributed to the guests in both of the cases predicted.

We assume that a piece cannot be divided and distributed to multiple guests.

Constraints

1 \leq A, B \leq 10^5

A \neq B

All values in input are integers.

Input

Input is given from Standard Input in the following format:

A B

Output

Print the minimum number of pieces that can be evenly distributed to the guests in both of the cases with A guests and B guests.

Sample Input 1

2 3

Sample Output 1

6

When we have six snack pieces, each guest can take three pieces if we have two guests, and each guest can take two if we have three guests.

Sample Input 2

123 456

Sample Output 2

18696

Sample Input 3

100000 99999

Sample Output 3

9999900000

Solution in Scala (2.11.7) (judge verdict: Accepted)

import java.io.{BufferedReader, InputStreamReader}

import scala.annotation.tailrec

object Main {
  def main(args: Array[String]): Unit = {
    val in = new BufferedReader(new InputStreamReader(System.in))
    val Array(a, b) = in.readLine().split("\\s+").map(_.toLong)

    System.err.println(gcd(a,b))
    System.out.println(a * b / gcd(a,b))
  }

  def gcd(a: Long, b: Long): Long = {
    @tailrec
    def inner(a: Long, b: Long): Long = {
     a % b match {
       case 0 => b
       case r => inner(b, r)
     }
    }

    if (a > b) {
      inner(a, b)
    } else {
      inner(b, a)
    }
  }
}