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

#include <iostream>
#include <vector>

long long int mmc(int a, int b) {
  std::vector<long> v;
  int tmp = 2, tmp1;
  while(a>1 || b>1) {
    tmp1 = tmp;
    if(a % tmp == 0 || b % tmp == 0) {
      v.push_back(tmp);
      tmp = 2;
    } else ++tmp; 
    if(a % tmp1 == 0) a /= tmp1;
    if(b % tmp1 == 0) b /= tmp1;
  }
  long long int result = 1;
  for(auto it: v) {
    result *= it; 
  }
  return result;
}

int main() {
  int a, b;
  long long int c;
  std::cin >> a >> b;
  c = mmc(a, b);
  std::cout << c; 
  return 0;
}