Algorithm Design Manual