#include <bits/stdc++.h>

using namespace std;
int mini= 100000000;
int pom=0;
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,int a[]){
    if(sum==v){
        if(minit<mini)
            mini=minit;
    }
    else{
        for(int i=0;i<3;i++){
            int k=odrediK(v-sum);
            if(a[i]*pow(10,k)+sum<=v){
                    pom++;
                sum+=a[i]*pow(10,k);
                minit=minit+1;
                isplata(v,sum,minit,a);
                minit--;
                sum=sum-a[i]*pow(10,k);
            }
        }
    }
}

int main()
{
   ios::sync_with_stdio(false);
   long long v;
   cin >> v;
   int a[3]={5,2,1};
   isplata(v,0,0,a);
   if(v%5==0&&v>99)
    cout << mini/2 << '\n';
    else
   cout << mini <<'\n';
   return 0;
}