#include
const int M = 10001;
// c1[i]表示x的i次方的系数
// c2[]系数的临时变量
int c1[M], c2[M];
int main()
{
int n; // 要求得x^n次方的系数
int i, j, k;
while(scanf("%d", &nNum) != EOF)
{
for(i = 0; i <= nNum; ++i) //最多只求到x^n
{
c1[i] = 1;//初始化为第一个表达式的系数
c2[i] = 0;
}
for(i = 2; i <= nNum; ++i) // 处理第i个表达式
{
for(j = 0; j <= nNum; ++j) // 已处理结果中第i个表达式的第j个变量
for(k = 0; k + j <= nNum; k += i) // 待处理表达式的每项指数,k与i有关系
{
c2[j+k] += c1[j];
}
for(j = 0; j <= nNum; ++j)
{
c1[j] = c2[j];
c2[j] = 0;
}
}
printf("%d\n", c[nNum]);
}
return 0;
}