if(n==m)
dp[n][n]=1+dp[n][n-1]
if(n<m)
dp[n][m]=dp[n][n]
if(n>m)
dp[n][m]=dp[n-m][m]+dp[n][m-1](分成把m分出来以及不分出来的情况)
#include<stdio.h>
int dp[121][121];
void cal()
{
int i,j;
for(i=1;i<=120;i++)
dp[i][1]=1;
for(i=2;i<=120;i++)
for(j=2;j<=i;j++)
{
if(i==j)
dp[i][i]=1+dp[i][i-1];
else
{
if(i-j<j)
dp[i][j]=dp[i-j][i-j]+dp[i][j-1];
else
dp[i][j]=dp[i-j][j]+dp[i][j-1];
}
}
}
int main()
{
int n;
cal();
while(scanf("%d",&n)!=EOF)
printf("%d\n",dp[n][n]);
return 0;
}