#include using namespace std; vector diff = {0, -1, -2, 1, 0}; int main(){ long long N; cin >> N; string S; while (N > 0){ S += N % 5 + '0'; N /= 5; } reverse(S.begin(), S.end()); int M = S.size(); vector>> dp(M + 1, vector>(120, vector(2, 0))); dp[0][60][0] = 1; for (int i = 0; i < M; i++){ for (int j = 0; j < 120; j++){ for (int k = 0; k < 2; k++){ if (dp[i][j][k]){ for (int d = 0; d <= (k ? 4 : S[i] - '0'); d++){ dp[i + 1][j + diff[d]][k || d < S[i] - '0'] += dp[i][j][k]; } } } } } cout << dp[M][60][0] + dp[M][60][1] - 1 << endl; }