Version unificada del ejercicio 1.