#include<stdio.h> int main() { /* //最小公倍数=两数的乘积/最大公约(因)数 long long m, n,temp, i,p; scanf("%lld%lld", &m, &n); if(m<n) //比较大小,使得m中存储大数,n中存储小数 { //交换m和n的值 temp=m; m=n; n=temp; } for(i=n; i>0; i--) //按照从大到小的顺序寻找满足条件的自然数 if(m%i==0 && n%i==0) {//输出满足条件的自然数并结束循环 p=m*n/i; printf("%lld",i+p); break; }

return 0;
*/
 long long a,b,m,n,c;
scanf("%lld %lld",&a,&b);
c=a*b;
while(a&&b){
    if(a>b) a%=b;
    else b%=a;
}
m=a>b?a:b;
printf("%lld\n",m+c/m);

}