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