n = int(input()) m = 27 base = [2] * m lim_up = [2] * m # lim_down = [2] * m x = n for i in range(m): x += 2 lim_up[i] = x%5 # lim_down[i] = 4 - lim_up[i] x //= 5 lim_up = lim_up[::-1] # dp[i][j] *= i桁目まで見て、各桁の合計数がjのやつの個数 dp_0 = [[0]*(m*4+1) for _ in range(m+1)] dp = [[0]*(m*4+1) for _ in range(m+1)] dp_lim = [[0]*(m*4+1) for _ in range(m+1)] dp_0[0][0] = 1 dp_lim[0][0] = 1 phase = 0 for i in range(1,m+1): dp_0[i][i*2] = 1 lim_j = sum(lim_up[:i]) dp_lim[i][lim_j] = 1 if(lim_j != i*2)&(phase==0): phase = 1 for j in range(m*4+1): dp[i][j] = sum(dp[i-1][max(0,j-4):j+1]) if(phase==1): for k in range(3,lim_up[i-1]): dp[i][j] += dp_lim[i-1][j-k] elif(phase==2): for k in range(lim_up[i-1]): dp[i][j] += dp_lim[i-1][j-k] for k in range(3,5): dp[i][j] += dp_0[i-1][j-k] if(lim_j != i*2)&(phase==1): phase = 2 ans = dp[i][2*m] + dp_lim[i][2*m] print(ans)