#include <iostream>
using namespace std;
// 辗转相除法求最大公约数, 用大的模小的,然后用除数模余数,该接口在新版的C++17的numeric 包中也有
int gcd1(int a ,int b ){
if(a>b){
while(a%b != 0 ){
int c = a%b;
a = b;
b = c;
}
return b;
}
else{
while(b%a != 0){
int c = b%a;
b = a;
a = c;
}
return a;
}
}
//更相减损术求最大公约数, 用大的减去小的,然后用较大的再减较小的,一直到两者一样。
int gcd2(int a,int b){
if(a>b){
while(a != b){
int c = a-b;
if(c > b) {a = c;}
else {a = b;b = c;}
}
}
else{
while(b != a){
int c = b-a;
if(c > a) {b = c;}
else {b=a;a = c;}
}
}
return a;
}
int main() {
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
int c = gcd2(a,b);
cout<<a/c * b;
}
}