#include<bits/stdc++.h>
using namespace std;
int n,m,a[100001]={0},b[100001]={0},c[100001]={0};
int len=1,len2=1,len3;
void chf(int x){//对A数组进行高精乘单精
for(int i=1;i<=len;i++) a[i]*=x;
for(int i=1;i<=len;i++){
a[i+1]+=a[i]/10;
a[i]%=10;
}
len++;
while(a[len]>9){
len++;
a[len]+=a[len-1]/10;
a[len-1]%=10;
}
while(a[len]==0) len--;
}
void chfb(int x){//对B数组进行高精乘单精
for(int i=1;i<=len2;i++) b[i]*=x;
for(int i=1;i<=len2;i++){
b[i+1]+=b[i]/10;
b[i]%=10;
}
len2++;
while(b[len2]>9){
len2++;
b[len2]+=b[len2-1]/10;
b[len2-1]%=10;
}
while(b[len2]==0) len2--;
}
void andd(){//AB数组相加
for(int i=1;i<=len3;i++){
c[i]=a[i]+b[i]+c[i];
c[1+i]=c[i]/10;
c[i]=c[i]%10;
}
len3++;
while(len3>0 && c[len3]==0) len3--;
}
int main(){
a[1]=1;
b[1]=1;
cin>>n>>m;
for(int i=1;i<=n;i++) chf(i);
chf(n+1);
chf(n);
for(int i=n+3,q=1;q<=m;i--,q++) chf(i);
for(int i=1;i<=n;i++) chfb(i);
chfb(2);
chfb(n+1);
chfb(m);
for(int i=n+2,q=1;q<m;i--,q++){
chfb(i);
//for(int o=len2;o>=1;o--) cout<<b[o];
}
len3=max(len,len2);
andd();
for(int i=len3;i>=1;i--) cout<<c[i];
return 0;//公式是A N N*A N+1 2*A*A N+3 M + A N N*A 2 2*N+1*M*A N+2 M-1
}