/*
#include <stdio.h>
int n, k, d[1010];
int lower_bound(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(k<=d[i])
{
return i;
}
}
return n+1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", lower_bound(k));
}
*/
/*
#include <stdio.h>
int n, k, d[1010];
int upper_bound(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(k<d[i])
{
return i;
}
}
return n+1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", upper_bound(k));
}
*/
/*
#include <stdio.h>
int n, d[100010], k;
int f(int k)
{
int i;
for(i=1;i<=n;i++)
{
if(d[i]==k)
{
return i;
}
}
return -1;
}
int main()
{
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &d[i]);
scanf("%d", &k);
printf("%d\n", f(k));
}
//각자릿수의 합 리턴
n n%10 sum rev
1234 4 4 4
123 3 7 4*10+3 43
12 2 9 43*10+2 432
1 1 10 4321
0 --> 끝
rev = rev*10+n%10;
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int sum=0;
while(n>0)
{
sum=sum*10+n%10;
n/=10;
}
return sum;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
#include <stdio.h>
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int a, int b)
{
}
int main()
{
int a, b;
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}



