#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
const int MAXINT=11;
int main()
{
	int M,N;
	cin>>M>>N;
	int dp[MAXINT][MAXINT]={{0}};//dp[i][j]表示将i个苹果放j个盘子里 
	for(int j=1;j<=N;j++)//只有一个苹果 
	{
		dp[1][j]=1;
	}
	dp[1][0]=0;
	for(int i=0;i<=M;i++)//只有一个盘子 
	{
		dp[i][1]=1;
	}
    //0个苹果
	for(int j=1;j<=M;j++)
	{
		dp[0][j]=1;
	 } 
	//0个盘子
	for(int i=1;i<=N;i++)
	{
		dp[i][0]=0;
	 } 
	for(int i=2;i<=M;i++)
	{
		for(int j=2;j<=N;j++)
		{
			if(j>i)
			{
				dp[i][j]=dp[i][i];
			}
			else
			{
				//分两种情况,一是盘子全部非空,而是盘子中有空的 
				dp[i][j]=dp[i-j][j]+dp[i][j-1];
			}
		}
	}
	cout<<dp[M][N]<<endl;
	return 0;
	
}