Design & Analysis of Algorithms