#include<bits/stdc++.h>
using namespace std;
const int N=500009;
int n,m,ans[N],cnt[N],nA,nC;
void input(){
cin>>n>>m;
}
void mul(int s[],int &l,int x){
for(int i=1;i<=l;i++){
s[i]*=x;
}
for(int i=1;i<=l;i++){
s[i+1]+=s[i]/10;
s[i]%=10;
if(i==l&&s[i+1]>0) l++;
}
}
void mns(int s[],int &l,int t[]){
for(int i=1;i<=l;i++){
s[i]-=t[i];
if(s[i]<0){
s[i]+=10;
s[i+1]--;
}
}
while(s[l]==0) l--;
}
void solve(){
ans[1]=2; nA=1;
for(int i=2;i<=n+1;i++) mul(ans,nA,i);
for(int i=2;i<=m;i++) mul(ans,nA,i);
int x=n+2;
for(int i=1;i<=m;i++){
mul(ans,nA,x);
x--;
}
cnt[1]=1; nC=1;
for(int i=2;i<=n+2;i++) mul(cnt,nC,i);
for(int i=2;i<=m;i++) mul(cnt,nC,i);
x=n+3;
for(int i=1;i<=m;i++){
mul(cnt,nC,x);
x--;
}
mns(cnt,nC,ans);
for(int i=nC;i>=1;i--) cout<<cnt[i];
if(nC==0) cout<<0;
}
int main(){
input();
solve();
return 0;
}