Aim: apply knowledge in algorithms analysis & design obtained from the course Algorithms part1 by Kevin Wayne, Robert Sedgewick