#include <stdio.h>
int main(void)
{
long num1, num2;//输入数
scanf("%ld %ld", &num1, &num2);
//求最大公约数
long greatest_common_divisor = 0;
int divisor_1, dividend_1;
if (num1 >= num2)//确定除数、被除数
divisor_1 = num1, dividend_1 = num2;
else
divisor_1 = num2, dividend_1 = num1;
while((divisor_1 % dividend_1) != 0)//欧几里得求最大公约数
{
int middle = divisor_1;
divisor_1 = dividend_1;
dividend_1 = middle % divisor_1;
}
greatest_common_divisor = dividend_1;
//求最小公倍数
long least_common_multiple = 0;
long divisor_2, dividend_2;
if (num1 >= num2)
divisor_2 = num1, dividend_2 = num2;
else
divisor_2 = num2, dividend_2 = num1;
int middle = divisor_2;//方便递加的中间数
while(1)//被除数成倍数增长,直到除尽除数
{
if((divisor_2 % dividend_2 == 0))
break;
divisor_2 += middle;
}
least_common_multiple = divisor_2;
printf("%ld", greatest_common_divisor + least_common_multiple);
return 0;
}