Agrego el algoritmo exacto, no está al 100%.