Divide And Conquer Algorithm