#include<iostream>
using namespace std;
int main(void)
{
long m, n;
long i, j = 0;
long a[10000], b[10000], c[10000];
long x, y, z;
long long max = 1;
int flag = 0;
cin >> m >> n;
for (i = 1; i <= m; i++)
{
if (m % i == 0)
{
a[j] = i;
++j;
}
}
x = j - 1;
j = 0;
for (i = 1; i <= n; i++)
{
if (n % i == 0)
{
b[j] = i;
++j;
}
}
y = j - 1;
z = 0;
for (int i = x - 1; i >= 0; --i) {
for (int j = y - 1; j >= 0; --j) {
if (a[i] == b[j] && flag == 0) {
cout << a[i] << endl;
flag = 1;
}
}
}
for (i = 2; i <= m && i <= n; i++)
{
if (m % i == 0 && n % i == 0)
{
m = m / i;
n = n / i;
max = max * i;
}
}
if (m % n == 0)
max = max * m;
else if (n % m == 0)
max = max * n;
else
max = max * m * n;
cout << max;
return 0;
}