divide and-conquer paradigm