It says the output must be "Y or fewer lines of integers of porcupines alive.". Putting aside how weird that sentence sounds, it just doesn't match up with the example output.
The Y input is 3, but then all of the outputs are integers way higher than 3.
From what I understand (through some mental gymnastics, admittedly) is that I'm supposed to output how many porcupines are left alive between all the cages after the years pass. For the first test case, I'm supposed to output 168.
So, I tweaked my algorithm, and had 168 outputted. But then I get a failure message, saying it found nothing while expecting 164 (despite the output stream clearly having 168). After I uncomment the line that did the output, it then says it expected 168.
I'd really appreciate help understanding this puzzle, and why I've been getting that first failure notice I mentioned.