최소공배수

1억 미만의 두 정수가 주어질 때, 32비트 범위를 넘을 수 있는 최소공배수를 구해 출력한다.

쉬움2수학정수론구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

정수 BB00보다 큰 정수 NN을 곱해서 정수 AA를 만들 수 있으면 AABB의 배수다. 예를 들어 5×2=105 \times 2 = 10이므로 101055의 배수이고, 10×1=1010 \times 1 = 10이므로 1010은 자기 자신의 배수이며, 1×6=61 \times 6 = 6이므로 6611의 배수다. 202011, 22, 44, 55, 1010, 2020의 배수다.

두 수의 공배수 중 가장 작은 값이 두 수의 최소공배수다. 2255의 최소공배수는 1010인데, 1010보다 작은 공배수가 없기 때문이다. 10102020의 최소공배수는 2020이고, 5533의 최소공배수는 1515다.

두 정수 AABB의 최소공배수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 두 정수 AABB가 공백 하나로 구분되어 주어진다. 1A,B<1000000001 \le A, B < 100\,000\,000이다.

입력의 50%50\%AABB가 모두 10001000보다 작고, 나머지 50%50\%AABB10001000보다 크다.

큰 입력에서는 답이 32비트 정수 범위를 넘는다. C/C++에서는 long long int를, Java에서는 long을 쓰시오.

출력

첫째 줄에 AABB의 최소공배수를 출력한다.