a fast algorithm for computing longest subsequences .
Preserving order in a forest in less than logarithmic time