} else { secondCut = middle + (last - middle) / 2; firstCut = upperBound(first, middle, secondCut, comp);
} else { secondCut = middle + (last - middle) / 2; firstCut = upperBound(first, middle, secondCut, comp);
} else { secondCut = middle + (last - middle) / 2; firstCut = upperBound(first, middle, secondCut, comp);
} else { secondCut = middle + (last - middle) / 2; firstCut = upperBound(first, middle, secondCut, comp);