#include <iostream>
#include <limits.h>
#include <vector>

using namespace std;

std::vector<int> d = { 1,2,5 };

long long NapraviMaxNovcanicu(long long Vrednost) 
{
	long long redVelicineNovcanice = 1;
	long long temp = Vrednost;
	while (temp > 0)
	{
		temp /= 10;
		redVelicineNovcanice *= 10;
	}
	redVelicineNovcanice /= 10; //Vratice 10^broj cifara sto je recimo za 52 -> 100
	for (int i = d.size()-1; i >= 0; i--)
	{
		if (redVelicineNovcanice*d[i] <= Vrednost) //Ivicni slucaj
		{
			return Vrednost - redVelicineNovcanice * d[i];
		}
	}
	return Vrednost;
}

int main() 
{
	long long v;
	cin >> v;
	int brojNovcanica = 0;
	while (v > 0)
	{
		brojNovcanica++;
		v = NapraviMaxNovcanicu(v);
	}
	cout << brojNovcanica;
	
	return 0;
}