#!/usr/bin/env python3 def naive_fuel(mass : int) -> int: return mass // 3 - 2 def calc_fuel(mass : int) -> int: fuel_mass = naive_fuel(mass) if fuel_mass < 0: return 0 return fuel_mass + calc_fuel(fuel_mass) def preproc(puzzle_input : str): return list(map(int, puzzle_input.split())) def partI(modules): return sum(map(naive_fuel, modules)) def partII(modules): return sum(map(calc_fuel, modules)) from main import Tests tests = Tests() tests.add(1969, partI=654, partII=966) tests.add(100756, partI=33583, partII=50346)