#line 1 "main.cpp" #include #include #include #include using namespace std; using lint = long long; lint calc(vector& ds) { int n = ds.size(); auto dp = vector(2, vector(n * 4 + 1, 0LL)); dp[0][0] = dp[1][0] = 1; for (auto d : ds) { auto ndp = vector(2, vector(n * 4 + 1, 0LL)); for (int s = 0; s <= (n - 1) * 4; ++s) { for (int i = 0; i <= 4; ++i) { ndp[0][s + i] += dp[0][s]; } for (int i = 0; i < d; ++i) { ndp[1][s + i] += dp[0][s]; } ndp[1][s + d] += dp[1][s]; } swap(dp, ndp); } return dp[1][n * 2]; } void solve() { lint n; cin >> n; vector ds; while (n != 0) { lint d = ((n + 2) % 5 + 5) % 5; ds.push_back(d); n -= (d - 2); n /= 5; } vector zs(ds.size(), 2); cout << calc(ds) - calc(zs) << "\n"; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); solve(); return 0; }