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 C (GCC 5.4.1) (judge verdict: Accepted)

#include <stdio.h>

int main(void)
{

    int i_containNum = 0;
    double i_inputNumA, i_inputNumB, i_minNum, i_maxNum, i_divideNum, displayNum;
    char c_flag = 0;
    scanf("%lf%lf", &i_inputNumA, &i_inputNumB);

    int ia_primeList[100000] = {0};
    if (i_inputNumA > i_inputNumB)
    {
        i_minNum = i_inputNumB;
        i_maxNum = i_inputNumA;
    }
    else
    {
        i_minNum = i_inputNumA;
        i_maxNum = i_inputNumB;
    }
    for (int count = 1; count <= i_minNum; count++)
    {
        if ((int) i_inputNumA % count == 0 && (int) i_inputNumB % count == 0)
        {
            ia_primeList[i_containNum] = count;
            i_containNum++;
        }
    }

    for (int index = 0; ia_primeList[index] != 0; index++)
    {
        if ((int) i_inputNumA % ia_primeList[index] == 0 && (int) i_inputNumB % ia_primeList[index] == 0)
        {
            i_divideNum = ia_primeList[index];
        }
    }

    displayNum = i_minNum * (i_maxNum / i_divideNum);

    printf("%.0lf", displayNum);
}