Problem:
Score : 500 points

Problem Statement

For an integer n not less than 0, let us define f(n) as follows:

f(n) = 1 (if n < 2)

f(n) = n f(n-2) (if n \geq 2)

Given is an integer N. Find the number of trailing zeros in the decimal notation of f(N).

Constraints

0 \leq N \leq 10^{18}

Input

Input is given from Standard Input in the following format:

N

Output

Print the number of trailing zeros in the decimal notation of f(N).

Sample Input 1

12

Sample Output 1

1

f(12) = 12 × 10 × 8 × 6 × 4 × 2 = 46080, which has one trailing zero.

Sample Input 2

5

Sample Output 2

0

f(5) = 5 × 3 × 1 = 15, which has no trailing zeros.

Sample Input 3

1000000000000000000

Sample Output 3

124999999999999995

Solution in Fortran (gfortran v4.8.4) (judge verdict: Accepted)

program double_factorization
    implicit none
    integer(kind=8) :: n
    integer(kind=8) :: ans

    read(*, *) n
    ans = min(g2(n, 2), g2(n, 5))
    print *, ans


contains
    recursive integer(kind=8) function g1(n, p) result(res)
        implicit none
        integer(kind=8), intent(in) :: n
        integer(kind=4), intent(in) :: p
        
        if(n == 0) then
            res = 0
        else
            res = n/p + g1(n/p, p)
        endif
   
    end function g1

    recursive integer(kind=8) function g2(n, p) result(res)
        implicit none
        integer(kind=8), intent(in) :: n
        integer(kind=4), intent(in) :: p

        res = 0

        if(mod(n, 2) == 1) then
            res = g1(n, p) - g2(n-1, p)
        else
            res = g1(n/2, p)

            if(p == 2) then
                res = res + n/2
            endif
        endif

    end function g2

end program double_factorization