#include <stdio.h>
#include <stdlib.h>

static int coins[] = { 1, 5, 10, 50, 100, 500 };
static int n_coins = sizeof(coins)/sizeof(coins[0]);

int countup( int x, int n ) {
if ( x == 0 ) return 1;
if ( x < 0 || n < 0 ) return 0;
return countup( x - coins[n], n ) + countup( x, n - 1 );
}

int main( int argc, char **argv ) {
int x, ans;
if ( argc != 2 )
return 1;
x = atoi( argv[1] );
if ( x < 0 )
ans = 0;
else
ans = countup( x, n_coins - 1 );
printf( "%d\n", ans );
return 0;
}