Esta es la solución más bonita que he visto hasta ahora (de @josusanmartin) pero no es óptima (puntúa 3.002)