ICPC Lecture (finished)