#include<iostream>
#include<cassert>
using namespace std;
long long dp[505][505], ans;
int n;
long long f(int t,int p) {
if(t == n) return 1;
if(dp[t][p] != -1) return dp[t][p];
dp[t][p] = 0;
for(int i = p+1; i <= n-t; i++) {
dp[t][p] += f(t+i,i);
}
return dp[t][p];
}
int main() {
cin >> n;
assert(n >= 5 && n <= 500);
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= n; j++) {
dp[i][j] = -1;
}
}
for(int i = 1; i < n; i++) {
ans += f(i,i);
}
cout << ans << "\n";
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNhc3NlcnQ+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbG9uZyBsb25nIGRwWzUwNV1bNTA1XSwgYW5zOwppbnQgbjsKCmxvbmcgbG9uZyBmKGludCB0LGludCBwKSB7CglpZih0ID09IG4pIHJldHVybiAxOwoJaWYoZHBbdF1bcF0gIT0gLTEpIHJldHVybiBkcFt0XVtwXTsKCWRwW3RdW3BdID0gMDsKCWZvcihpbnQgaSA9IHArMTsgaSA8PSBuLXQ7IGkrKykgewoJCWRwW3RdW3BdICs9IGYodCtpLGkpOwoJfQoJcmV0dXJuIGRwW3RdW3BdOwp9CgppbnQgbWFpbigpIHsKCWNpbiA+PiBuOwoJYXNzZXJ0KG4gPj0gNSAmJiBuIDw9IDUwMCk7Cglmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWZvcihpbnQgaiA9IDE7IGogPD0gbjsgaisrKSB7CgkJCWRwW2ldW2pdID0gLTE7CgkJfQoJfQoJZm9yKGludCBpID0gMTsgaSA8IG47IGkrKykgewoJCWFucyArPSBmKGksaSk7Cgl9Cgljb3V0IDw8IGFucyA8PCAiXG4iOwoJcmV0dXJuIDA7Cn0=