#include <iostream>
#include <vector>
std::vector<int> arr = { 100, 50, 25, 10, 5, 1 };
int n = 100;
int matches = 0;
void calc( int val, unsigned int offs ) {
if( val == n ) {
matches++;
return;
} else if( val > n ) {
return;
}
for( unsigned int i = offs; i < arr.size(); ++i ) {
calc( val + arr[i], i );
}
}
int main( int argc, char** argv ) {
calc( 0, 0 );
std::cout << matches << std::endl;
return( EXIT_SUCCESS );
}