#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=105;
int dp[N][N*N],dp2[N][N*N];
int len[N],len2[N];
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
while(1)
{
memset(dp, 0, sizeof(dp));
memset(dp2, 0, sizeof(dp2));
int n,k;
cin>>n>>k;
if(!n&&!k)return 0;
int res=1;
for(int i=1;i<=n;i+=2)
len[res++]=len[n-res]=i;
res=res*2-3;
sort(len+1,len+res+1);
for(int i=0;i<=res;i++)
dp[i][0]=1;
for(int i=1;i<=res;i++)
{
for(int j=1;j<=k;j++)
{
if(j>len[i])continue;
dp[i][j]=dp[i-1][j]+dp[i-1][j-1]*(len[i]-j+1);
}
}
int res2=1;
for(int i=2;i<=n;i+=2)
len2[res2++]=len2[n-res2]=i;
res2=res2*2-3;
sort(len2+1,len2+res2+1);
for(int i=0;i<=res2;i++)
dp2[i][0]=1;
for(int i=1;i<=res2;i++)
{
for(int j=1;j<=k;j++)
{
if(j>len2[i])continue;
dp2[i][j]=dp2[i-1][j]+dp2[i-1][j-1]*(len2[i]-j+1);
}
}
int ans=0;
for(int i=0;i<=k;i++)
ans+=(dp[res][i]*dp2[res2][k-i]);
cout<<ans<<endl;
}
return 0;
}