#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define mp make_pair #define mt make_tuple #define pb push_back #define rep(i, n) for (int i = 0; i < (n); i++) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair pii; const int INF = 1 << 29; const double EPS = 1e-9; const int dx[] = {1, 0, -1, 0}, dy[] = {0, -1, 0, 1}; int N; ll comb[55][55]; int main() { cin >> N; for (int i = 0; i <= 50; i++) { comb[i][0] = 1; } for (int i = 1; i <= 50; i++) { comb[i][i] = 1; for (int j = 1; j < i; j++) { comb[i][j] = comb[i - 1][j] + comb[i - 1][j - 1]; } } ll sum = 0; for (int i = 0; i <= 25; i++) { for (int j = 0; j <= 50; j++) { if (2 * i + j == N) { sum += comb[i + j][i]; } } } cout << sum << endl; return 0; }