Problem solving with Data structures and Algorithms