//洛谷输入:4 3
//洛谷输出:0
//devc++输出:2
//??
#include<bits/stdc++.h>
using namespace std;
int n,m,flag,r;
vector<int> v0;
int left(int k){
return k+1==n+1?1:k+1;
}
int right(int k){
return k-1==0?n:k-1;
}
int sfn(vector<int> v) {
flag++;
vector<int> v1;
for(int j=0;j<v.size();j++){
v1.push_back(left(v[j]));
v1.push_back(right(v[j]));
if(flag==m&&v[j]==1){
r++;
}
}
v.clear();
if(flag!=m+1)
sfn(v1);
return 0;
}
int main() {
cin>>n>>m;
v0.push_back(1);
sfn(v0);
printf("%d\n",r);
return 0;
}