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

#include<stdio.h>
#include<math.h>
int ketasu(long long int n){
  int ans=0;
  while(n!=0){
    n=n/10;
    ans++;
  }
  return ans;
}

int main(void){
  long long int n;
  scanf("%lld",&n);
  int keta;
   long long int ans=0;
  keta=ketasu(n);
  char henkan[keta];
  int i,j,k;



  if(n%2!=0){
    printf("0");
    return 0;
  }


  else {
    //int saikou=n/pow(10,keta-1);
    long long int tasu=9;


    sprintf(henkan, "%lld", n);
    for(i=0;i<keta-1;i++){
      ans=ans+tasu;
      tasu=tasu*10;
    }
    int newketa=ketasu(tasu-1);
    tasu=9*pow(10,newketa);
    i=0;
    while(tasu>0){
      ans=ans+(henkan[i]-'0')*tasu;
      tasu=tasu/10;
      i++;
      if(tasu==0){
        ans=ans+(henkan[i]-'0');
        break;
      }
      }
    }

  printf("%lld",ans);

  return 0;
}