#include<iostream>
#include<math.h>
using namespace std;
int f[151][301]; //f[m][n]表示外层边长不超过m的n的自共轭Ferrers图的个数
int main()
{
for(int i=1;i<151;i++)
{
f[i][1]=1;
f[i][0]=1;
}
for(int i=2;i<301;i++)
{
for(int j=1;j<151;j++)
{
if(j<sqrt(double(i)))
{
f[j][i]=0;
}
else if(j>(i+1)/2)
{
f[j][i]=f[j-1][i];
}
else
f[j][i]=f[j-1][i+1-2*j]+f[j-1][i];
}
}
int n;
while(cin>>n)
cout<<f[150][n]<<endl;
return 0;
}
#include<math.h>
using namespace std;
int f[151][301]; //f[m][n]表示外层边长不超过m的n的自共轭Ferrers图的个数
int main()
{
for(int i=1;i<151;i++)
{
f[i][1]=1;
f[i][0]=1;
}
for(int i=2;i<301;i++)
{
for(int j=1;j<151;j++)
{
if(j<sqrt(double(i)))
{
f[j][i]=0;
}
else if(j>(i+1)/2)
{
f[j][i]=f[j-1][i];
}
else
f[j][i]=f[j-1][i+1-2*j]+f[j-1][i];
}
}
int n;
while(cin>>n)
cout<<f[150][n]<<endl;
return 0;
}