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