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 C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

public class Solution
{
    // max: 対象を含む
    static long Count(long min, long max, int d)
    {
        if (max < d)
        {
            return 0;
        }

        long count = 0;
        for (long cur = min; cur <= max; cur *= d)
        {
            var left = Math.Max(cur, min / cur * cur);
            var right = max / cur * cur;
            count += (right - left) / cur + 1;
        }
        return count;
    }

    public static void Main()
    {
        var n = long.Parse(Console.ReadLine());
        if (n <= 2 || n % 2 != 0)
        {
            Console.WriteLine(0);
            return;
        }
        var twos = Count(2, n, 2);
        var fives = Count(10, n, 5);
        var tens = Math.Min(twos, fives);
        Console.WriteLine(tens);
    }
}