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 Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)


import java.util.Scanner;
import java.util.Arrays;

public class Main{
  public static void main(String args[]){
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    int b = sc.nextInt();
    int[] ax = new int[a];
    int[] bx = new int[b];
    int ay = 0;
    int by = 0;
    int az = a;
    int bz = b;
    for(int i = 2;i <=a;i++){
      if(az % i == 0){
   //     System.out.println(i);
 //       System.out.println(a);        
        az = az / i;
        ax[ay] = i;
        i--;
        ay++;
      }
    }
    for(int j = 2;j <= b;j++){
      if(bz % j == 0){
        bz = bz / j;
        bx[by] = j;
        j--;
        by++;
      }
    }
    for(int c = 0;c < ay;c++){
      for(int d = 0;d < by;d++){
        if(ax[c] == bx[d] && bx[d] != 1){
          bx[d] = 1;
          break;
        }
      }
    }
    int ans = 1;
    for(int e = 0;e < ay;e++){
      ans *= ax[e];
    }
    for(int f = 0;f < by;f++){
      ans *= bx[f];      
    }
    System.out.println(ans);
//    System.out.println(Arrays.toString(ax));
//    System.out.println(Arrays.toString(bx)); 
//    System.out.println(by);
  }
}