SMS dit: Introduction to the design & analysis of algorithms