lec8, lec9, algo1