divide and conquer
Top