#include <iostream>
using namespace std;
typedef long long ll;
#define SIZE 500
ll memo[500][500] = {0};
ll partition(ll n, ll max){
if (max == 0)
return 0;
if (n == 0)
return 1;
if (n < 0)
return 0;
if (memo[n][max] != 0)
return memo[n][max];
else
return (memo[n][max] = (partition(n, max-1) + partition(n-max,max)));
}
int main() {
int n;
cin >> n;
cout << partition(n,n) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKI2RlZmluZSBTSVpFIDUwMAoKbGwgbWVtb1s1MDBdWzUwMF0gPSB7MH07CgpsbCBwYXJ0aXRpb24obGwgbiwgbGwgbWF4KXsKCWlmIChtYXggPT0gMCkKCQlyZXR1cm4gMDsKCWlmIChuID09IDApCgkJcmV0dXJuIDE7CglpZiAobiA8IDApCgkJcmV0dXJuIDA7CgkKCWlmIChtZW1vW25dW21heF0gIT0gMCkKCQlyZXR1cm4gbWVtb1tuXVttYXhdOwoJZWxzZQoJCXJldHVybiAobWVtb1tuXVttYXhdID0gKHBhcnRpdGlvbihuLCBtYXgtMSkgKyBwYXJ0aXRpb24obi1tYXgsbWF4KSkpOwp9CgppbnQgbWFpbigpIHsKCWludCBuOwoJY2luID4+IG47CgkKCWNvdXQgPDwgcGFydGl0aW9uKG4sbikgPDwgZW5kbDsKCQoJcmV0dXJuIDA7Cn0=