#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 5e2+5;
int n, m;
void f (int m){
int dp[m+1];
dp[0] = dp[1] =1;
for (int i =2; i <= m; i++){
dp[i] =0;
cout << dp[i] << endl;
for (int j =1; j <= i; j++){
cout << j << endl;
dp[i] += dp[j-1] * dp[i-j];
}
}
// return dp[m];
}
signed main(){
cin >> n;
m = n/2;
// cout << f(m) << endl;
f(m);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwpjb25zdCBpbnQgIE1BWE4gPSA1ZTIrNTsKCmludCBuLCBtOwoKdm9pZCBmIChpbnQgbSl7CiAgICBpbnQgZHBbbSsxXTsKICAgIAogICAgZHBbMF0gPSBkcFsxXSA9MTsKICAgIGZvciAoaW50IGkgPTI7IGkgPD0gbTsgaSsrKXsKICAgICAgICBkcFtpXSA9MDsKY291dCA8PCBkcFtpXSA8PCBlbmRsOwogICAgICAgIGZvciAoaW50IGogPTE7IGogPD0gaTsgaisrKXsKICAgICAgICAgICAgY291dCA8PCBqIDw8IGVuZGw7CiAgICAgICAgICAgIGRwW2ldICs9IGRwW2otMV0gKiBkcFtpLWpdOwogICAgICAgIH0KICAgIH0KICAgLy8gcmV0dXJuIGRwW21dOwp9CnNpZ25lZCBtYWluKCl7CiAgICBjaW4gPj4gbjsKICAgIG0gPSBuLzI7CiAgIC8vIGNvdXQgPDwgZihtKSA8PCBlbmRsOwogICBmKG0pOwp9