Aquí hay una buena regla sobre la corrección del código. Todo el código que no ha probado es incorrecto. Todo el código que ha probado también es incorrecto, pero parece funcionar por coincidencia. Y el código que has demostrado que es correcto hace lo incorrecto, correctamente.
24