El algoritmo es éste: