import java.util.Scanner;
// 要清楚最大公约数和最小公倍数的算法
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 输入正整数n和m
long n = sc.nextInt();
long m = sc.nextInt();
// 两个数中的最小值
long min = 0;
// 两个数中的最大值
long max = 0;
// 最大公约数
long div = 0;
// 最小公倍数
long dcm = 0;
// 求最大公约数和最小公倍数
// 最大公约数 // 辗转相除法欧几里德算法
// 例子:10,6
/**
* 10 % 6 = 4
* 6 % 4 = 2
* 4 % 2 = 0
* 所以结果为0
*/
if (m > n) {
max = m;
min = n;
} else {
max = n;
min = m;
}
// 计算最大公约数
long num = 0;
while (true) {
num = max % min;
if (num == 0) {
div = min;
break;
}
max = min;
min = num;
}
// 最小公倍数
// 只需要先求出最大公约数。用两个数的乘积除以最大公约数即可。
dcm = m * n / div;
System.out.println(dcm + div);
}
}