#include <iostream>
using namespace std;

int div(int n,int m,int &cnt){
    cnt+=n/m;
    return n%m;
}

int main(){
    int n;
    cin>>n;
    int cnt=0;
    n=div(n,25,cnt);
    n=div(n,10,cnt);
    n=div(n,5,cnt);
    n=div(n,1,cnt);
    cout<<cnt<<endl;
    return 0;
}

### Prompt

Construct a CPP code solution to the problem outlined:

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>
using namespace std;

int div(int n,int m,int &cnt){
    cnt+=n/m;
    return n%m;
}

int main(){
    int n;
    cin>>n;
    int cnt=0;
    n=div(n,25,cnt);
    n=div(n,10,cnt);
    n=div(n,5,cnt);
    n=div(n,1,cnt);
    cout<<cnt<<endl;
    return 0;
}

```