Adding the descendants-ascendants algorithm.