(define fight {number --> number --> number} Blue Red -> Red where (<= Blue 0) Blue Red -> Blue where (<= Red 0) Blue Red -> (fight (floor (- Blue (* Red 0.1))) (floor (- Red (* Blue 0.1))))) (define fight-battles {number --> (list number) --> number} Blue [] -> Blue Blue Battles -> (error "Blue has been annihilated!~%") where (>= 0 Blue) Blue [Battle | Battles] -> (fight-battles (fight Blue Battle) Battles))