notes for algorithm study 8634710