Author: Arthur C. Aho