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

int main(){
 UL N; cin>>N;
 UL ans=N/50*2;
 N %= 50;
 ans += N%5;
 N /= 5;
 UL M[10] = {0,1,1,2,2,1,2,2,3,3};
 ans += M[N];
 cout<<ans<<endl;
 return 0;
}


### Prompt

Generate 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;
using UL = unsigned int;
using ULL = unsigned long long;
using LL = long long;
#define rep(i,n) for(UL i=0; i<(n); i++)

int main(){
 UL N; cin>>N;
 UL ans=N/50*2;
 N %= 50;
 ans += N%5;
 N /= 5;
 UL M[10] = {0,1,1,2,2,1,2,2,3,3};
 ans += M[N];
 cout<<ans<<endl;
 return 0;
}


```