#include<stdio.h>

int Coin[] = {500,100,50,20, 10, 5,2,1};

int F[8][10000];
char flag[8][10000];


int Count(int type, int amount) {
	int i;
	if(amount == 0) return 1;
	if(type <=0 ) return 0;
	if(flag[type][amount]) {
		return F[type][amount];
	}
	int ways = 0;
	for(i = 0; amount - i*Coin[type] >= 0; i++) {
		ways += Count(type-1,amount-i*Coin[type]);
	}
	flag[type][amount] = 1;
	F[type][amount] = ways;
	return ways;
}

int main() {
	int n;
	while(scanf("%d",&n) && n) {
		printf("%d\n",Count(7,n));
	}
	return 0;
}