#include<iostream>
using namespace std;


int main(void) {
  int change;
  cin>>change;
  int i=0,j=0,k=0,m=0;

  for(;i*25<=change;i++);i--;
  change-=i*25;
  if(change==0) goto last;

  for(;m*10<=change;m++);m--;
  change-=m*10;
  if(change==0) goto last;

  for(;j*5<=change;j++);j--;
  change-=j*5;
  if(change==0) goto last;

  for(;k<=change;k++);k--;
  goto last;
last:
  cout<<i+j+k+m<<endl;

  return 0;


}


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


int main(void) {
  int change;
  cin>>change;
  int i=0,j=0,k=0,m=0;

  for(;i*25<=change;i++);i--;
  change-=i*25;
  if(change==0) goto last;

  for(;m*10<=change;m++);m--;
  change-=m*10;
  if(change==0) goto last;

  for(;j*5<=change;j++);j--;
  change-=j*5;
  if(change==0) goto last;

  for(;k<=change;k++);k--;
  goto last;
last:
  cout<<i+j+k+m<<endl;

  return 0;


}


```