divide and conquer done