Author: Graham / Knuth / Patashnik