#include <iostream>
#include <bits/stdc++.h>

using namespace std;

double pow(double osnova,double exponent)
{
    return exp(log(osnova)*exponent);
}

long long int brcif(long long int n)
{
    long long int s=0;
    while(n>0)
    {
        s++;
        n/=10;
    }
    return s;
}

void novcanice(long long int *a, long long int k)
{
    for (long long int i=0; i<3*k; i++)
    {
        if(i%3==0)a[i]= pow(10,i/3);
        if(i%3==1)a[i]= 2*pow(10,i/3);
        if(i%3==2)a[i]= 5*pow(10,i/3);
    }
    long long int j=3*k-1;
	long long int i=0;
	while(i<j)
	{
		long long int t=a[i];
		a[i]=a[j];
		a[j]=t;
		i++;
		j--;
	}
}

void racun (long long int n, long long int *a, long long int *nov, long long int k)
{
    for (long long int i=0; i<3*k; i++)
    {
        if(n>=a[i])
        {
            nov[i]=n/a[i];
            n=n-nov[i]*a[i];
        }
    }
}

int main()
{
    long long int n,s=0;
    cin >> n;
    long long int k=brcif(n);
    long long int a[3*k]={0};
    long long int nov[3*k]={0};
    novcanice(a,k);
    racun(n,a,nov,k);
    for (long long int i=0; i<3*k; i++)
    {
        s+=nov[i];
    }
    cout << s;
    return 0;
}