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++14 (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<cmath>
#include<math.h>
using namespace std;
//2019/12/23 変化の具合が掴めずギブ
//でもって解説チラ見してさらにギブ
// int main(){
//   long long n;
//   std::cin >> n;
//   long long sum[20]={};
//   if(n%2==1)std::cout << "0" << '\n';
//   else if(n<=10)std::cout << "1" << '\n';
//   else {
//     long long n2=n;
//     int keta=1;
//     sum[2]=0;
//     for (int i =2; i <= 20; i++) {
//       sum[i]=(sum[i-1]-keta+2)*9+(keta-1)*9;
//       std::cout <<i<<":"<< sum[i] << '\n';
//       keta++;
//     }
//   }
//   return 0;
// }

// int main(){
//   long long n;
//   std::cin >> n;
//   long long m=5;
//   long long ans=0;
//   while (n%m!=0) {
//     ans+=(n/m);
//     m/=5;
//   }
//   std::cout << ans << '\n';
//   return 0;
// }
int main(){
  long long n;
  std::cin >> n;
  long long m=5;
  long long ans=0;
  while (n/m!=0) {
    ans+=n/(m*2);
    m*=5;
  }
  std::cout << ans << '\n';
  return 0;
}