#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

using namespace std;

int dd(long long ost,int niz[],int k)
{
	int	i=0;
	int d;
	while(i<=2 && ost-niz[i]>=0)
	{
		if (ost==niz[i])
		{
			return niz[i];
		}
		i++;
	}
	i--;
	d=niz[i];
	if (ost>10)
	{
		if (d*pow(10,k)>ost)
		{
			d=niz[i-1];
		}
	}
	return d;
}
int main(int argc, char** argv) {
	long long v,ost;
	int niz[3]={1,2,5};
	int r,k,d,i;
	cin>>v;
	//Nalazenje stepena
	k=0;
	while(v/pow(10,k)>=1)
	{
		k++;
		
	}
	k--;
	//cout<<k<<endl;
	ost=v/pow(10,k);
	//Nalazenje d
	d=dd(ost,niz,k);
//	cout<<d<<endl;
	//Nalazenje resenja
	r=0;
	 for (;k>=0;k--)
	 {
	 	while(v-d*pow(10,k)>=0)
	 	{
	 		v=v-(d*pow(10,k));
	 		r++;
	 		if (v==0)
	 		{
	 			break;
			 }
	 		ost=v/pow(10,0);
	 	d=dd(ost,niz,k);
	 	//cout<<d<<endl;
		 }
	
	 	
	 }
	 cout<<r<<endl;
	
	return 0;
}