// ==================================================
// > PART 1
// ==================================================
$solution_1 = $input->numbers()->map(fn ($int) => floor($int / 3) - 2)->sum();
// ==================================================
// > PART 2
// ==================================================
function calc_fluel($int, $carry = 0)
{
$req = max(0, floor($int / 3) - 2);
$carry += $req;
return $req <= 0 ? $carry : calc_fluel($req, $carry);
}
$solution_2 = $input->lines->ints()->map("calc_fluel", false)->sum();