/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
1872
1874
1880
1881
1883
1886
*/
/*
#include <stdio.h>
long long int n;
long long int abs(long long int n)
{
if(n<0)
{
return n*(-1);
}
else
{
return n;
}
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", abs(n));
}
*/
/*
#include <stdio.h>
int n;
long long int f(int n)
{
long long int e=1;
for(int i=1;i<=n;i++)
{
e = e*i;
}
return e;
}
int main()
{
scanf("%d", &n);
printf("%lld\n", f(n));
}
n rev
1234 4
123 4*10+3 43
12 43*10+2
1
0
while(n>0)
{
n/=10;
c++;
}
1. n의 자릿수 계산 c
2. n의 각 자릿수의 합
3. n을 뒤집은 수 출력
*/
/*
#include <stdio.h>
long long int n;
long long int f(long long int n)
{
long long int rev=0;
while(n>0)
{
rev=rev*10+n%10;
n/=10;
}
return rev;
}
int main()
{
scanf("%lld", &n);
printf("%lld\n", f(n));
}
*/
/*
#include <stdio.h>
int a, b;
int gcd(int a , int b)
{
int e;
if(a>b)
{
for(int i=1;i<=a;i++)
{
if(a%i==0&&b%i==0)
{
e=i;
}
}
}
else if(b>a)
{
for(int i=1;i<=b;i++)
{
if(a%i==0&&b%i==0)
{
e=i;
}
}
}
else if(a==b)
{
e=a;
}
return e;
}
int main()
{
scanf("%d%d", &a, &b);
printf("%d\n", gcd(a, b));
}
*/
#include <stdio.h>
int a, b;
int gcd(int p, int q){ if(p==0) return q; return gcd(q%p, p);}
long long int lcm(int a, int b)
{
long long int i;
long long int e=0;
for(i=1;i<=b;i++)
{
e= a*i;
if(e%b==0)
{
break;
}
}
return e;
}
int main()
{
scanf("%d%d", &a, &b);
printf("%lld\n", lcm(a, b));
}