CYDK6S5LRLGTPA4BX4XUNKCX6E6PIEFQXVX7KJAJ6HBMFDDJUPBQC
}
{
let len = shortlist.len();
let mut stack: Vec<(*mut (String, i64), *mut (String, i64))> = vec![(&mut shortlist[0], &mut shortlist[len - 1])];
while let Some((lo, hi)) = stack.pop() {
unsafe {
if lo < hi {
let p = lo.offset(hi.offset_from(lo) / 2);
let p = comparator.partition(lo, hi, p).await?;
stack.extend_from_slice(&[(lo, p), (p.offset(1), hi)]);
}
}
}