#include <iostream>
#include <stdlib.h>
using namespace std;

long _change(long n);
long change(long n);


int main(void){
  long n;
  cin>>n;
  cout<<change(n)<<endl;
  return 0;
}

long _change(long n){
  long retval=0;
  retval+=n/10;
  n=n%10;
  retval+=n/5;
  n=n%5;
  retval+=n;
  return retval;
}

long change(long n){
  long retval=10000000010;
  long count=0;
  while(n>=0){
    retval=min(retval,_change(n)+count);
    n-=25;
    count++;
  }
  return retval;
}


### Prompt

Please provide a CPP coded solution to the problem described below:

You want to make change for $ n $ cents. Assuming that you have infinite supply of coins of 1, 5, 10 and / or 25 cents coins respectively, find the minimum number of coins you need.

Constraints

* $ 1 \ le n \ le 10 ^ 9 $

Input


$ n $


The integer $ n $ is given in a line.

output

Print the minimum number of coins you need in a line.

Examples

Input

100


Output

4


Input

54321


Output

2175

### Response

```cpp
#include <iostream>
#include <stdlib.h>
using namespace std;

long _change(long n);
long change(long n);


int main(void){
  long n;
  cin>>n;
  cout<<change(n)<<endl;
  return 0;
}

long _change(long n){
  long retval=0;
  retval+=n/10;
  n=n%10;
  retval+=n/5;
  n=n%5;
  retval+=n;
  return retval;
}

long change(long n){
  long retval=10000000010;
  long count=0;
  while(n>=0){
    retval=min(retval,_change(n)+count);
    n-=25;
    count++;
  }
  return retval;
}


```