add divide and conquter