#include<bits/stdc++.h>
using namespace std;
int n,m;
vector<int> v;
vector<int> dp;
int main(){
cin>>n>>m;
v.resize(n);
dp.resize(n);
v.push_back(1);
vector<int>::iterator itv=v.begin();
vector<int>::iterator itdp=dp.begin();
while(m>0){
dp.clear();
dp.push_back(*(itv+1)+*(itv+n-1));
for(int i=1;i<n-1;i++){
dp.push_back(*(itv+i-2)+*(itv+i));//v[i-2]+v[i]
}
dp.push_back(*(itv+n-2)+*(itv));
v.clear();
for(int i=0;i<n;i++){
*(itv+i)=*(itdp+i);
}
m--;
}
cout<<dp[0]<<endl;
return 0;
}