#include <bits/stdc++.h>

using namespace std;
int mini=1000000000;
int odrediK(long long v){
   int k=0;
   while(v>9){
        k++;
       v=v/10;
   }
   return k;
}
void isplata(long long v,long long sum,int minit){
    if(sum==v){
        if(minit<mini)
            mini=minit;
    }
    else{
        int k=odrediK(v-sum);
        if(sum+5*pow(10,k)<=v){
            sum+=5*pow(10,k);
            minit++;
            isplata(v,sum,minit);
        }
        if(sum+2*pow(10,k)<=v){
            sum+=2*pow(10,k);
            minit++;
            isplata(v,sum,minit);
        }
        if(sum+pow(10,k)<=v){
            sum+=pow(10,k);
            minit++;
            isplata(v,sum,minit);
        }
    }

}

int main()
{
    int d,k;
    long long v;
    cin >> v;
    isplata(v,0,0);
    cout << mini << endl;
    return 0;
}