Combinatorial algorithms : Theory and practice - Reingold, Edward M. (Prentice Hall, Inc., 1977)