Algorithms and Data Structures: The Basic Toolbox