Primera versión final del algoritmo...Faltan las pruebas.