Recursive Divide And Conquer Algorithm