agrego mejoras a la solucion aproximada pero las comento por ahora