CMSC 27200 1 (Winter 2018) Theory of Algorithms