Algorithm design - Kleinberg, Jon; Tardos, Eva (Pearson Addison Wesley, 2006)