function solve($days) {
    global $input;
    $fish = $input->numbers->occurrences();
    for ($i = 0; $i < $days; $i++) {
        $fish2 = [];
        $new = 0;
        foreach ($fish as $d=>$f) {
            $nd = int($d) - 1;
            $new += $nd < 0 ? $fish[$d] : 0;
            $nd = $nd < 0 ? 6 : $nd;
            $fish2[$nd] = ($fish2[$nd] ?? 0) + $fish[$d];
        }
        $fish = $fish2;
        $fish[8] = $new;
    }
    return set($fish)->sum();
}
// ==================================================
// > SOLUTIONS
// ==================================================
$solution_1 = solve(80);
$solution_2 = solve(256);