Because I recursively split the array, I have to check multiples of 3 first
and not multiples of 2. This ends up getting the correct priority of
splitting by 2’s first. But wow, I could not figure that out for forever.