#include <iostream>

using namespace std;

int main(int argc, char const *argv[]) {
  int n;  cin >> n;
  for (int i = n / 25; i >= 0; --i) {
    int money = n;
    money -= i * 25;
    for (int j = money / 10; j >= 0; --j) {
      money -= j * 10;
      for (int k = money / 5; k >= 0; --k) {
        money -= k * 5;
        if (money >= 0) {
          cout << i + j + k + money << '\n';
          return 0;
        }
      }
    }
  }
  return 0;
}


### Prompt

Create a solution in cpp for 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 <iostream>

using namespace std;

int main(int argc, char const *argv[]) {
  int n;  cin >> n;
  for (int i = n / 25; i >= 0; --i) {
    int money = n;
    money -= i * 25;
    for (int j = money / 10; j >= 0; --j) {
      money -= j * 10;
      for (int k = money / 5; k >= 0; --k) {
        money -= k * 5;
        if (money >= 0) {
          cout << i + j + k + money << '\n';
          return 0;
        }
      }
    }
  }
  return 0;
}


```