(define prize-values '(10 10 10 10 10 10 10 10 10 9 9 9 8 8 7 7 7 7 6 6 6 5 5 5 5 4 4 4 3 3 3 2 2 2 2 1 1)) (define count-combos (lambda (prizes amount) (cond ((= amount 0) 1) ((< amount 0) 0) ((null? prizes) 0) (else (+ (count-combos prizes (- amount (car prizes))) (count-combos (cdr prizes) amount)))))) (define count-combos-saving (lambda (prizes amount) (cond ((= amount 0) 1) ((< amount 0) 0) ((null? prizes) 1) (else (+ (count-combos-saving prizes (- amount (car prizes))) (count-combos-saving (cdr prizes) amount))))))