#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < n; i++)

int main() {
    int n;
    cin >> n;
    int ans = 0;
    vector<int> coin = {25,10,5,1};
    rep(i, coin.size()) {
        if (n >= coin[i]) {
            ans += n / coin[i];
            n %= coin[i];
        }
    }
    // if (n >= 25) {
    //     ans += n / 25;
    //     n %= 25;
    // }
    // if (n >= 10) {
    //     ans += n / 10;
    //     n %= 10;
    // }
    // if (n >= 5) {
    //     ans += n / 5;
    //     n %= 5;
    // }
    // if (n >= 1) {
    //     ans += n / 1;
    // }
    cout << ans << endl;
}

### Prompt

Please formulate 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++)

int main() {
    int n;
    cin >> n;
    int ans = 0;
    vector<int> coin = {25,10,5,1};
    rep(i, coin.size()) {
        if (n >= coin[i]) {
            ans += n / coin[i];
            n %= coin[i];
        }
    }
    // if (n >= 25) {
    //     ans += n / 25;
    //     n %= 25;
    // }
    // if (n >= 10) {
    //     ans += n / 10;
    //     n %= 10;
    // }
    // if (n >= 5) {
    //     ans += n / 5;
    //     n %= 5;
    // }
    // if (n >= 1) {
    //     ans += n / 1;
    // }
    cout << ans << endl;
}

```