El algoritmo puede ser similar a esto: