#include <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int i=0; i<(n); i++)
#define FOR(i,x,n) for(int i=x; i<(n); i++)
#define ALL(n) begin(n),end(n)
#define MOD 1000000007
 
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
template <class T>
void print(T& x){printf("%d\n", x);}

int main()
{
    int n;
    cin >> n;
    vector<int> coins = {25, 10, 5, 1}; 
    int ans=0, tmp;
    FOR(i, 0, coins.size()){
        ans += n / coins[i];
        n %= coins[i];
    }
    print(ans);
    return 0;
}

### Prompt

Your challenge is to write a CPP solution to the following problem:

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 <bits/stdc++.h>
using namespace std;
#define REP(i,n) for(int i=0; i<(n); i++)
#define FOR(i,x,n) for(int i=x; i<(n); i++)
#define ALL(n) begin(n),end(n)
#define MOD 1000000007
 
typedef long long ll;
typedef unsigned int ui;
typedef unsigned long long ull;
template <class T>
void print(T& x){printf("%d\n", x);}

int main()
{
    int n;
    cin >> n;
    vector<int> coins = {25, 10, 5, 1}; 
    int ans=0, tmp;
    FOR(i, 0, coins.size()){
        ans += n / coins[i];
        n %= coins[i];
    }
    print(ans);
    return 0;
}

```