// defaults to median when idx isn't given static A ithSmallest(L l, int idx default l(l)/2) { int n = l(l); if (n <= 80) ret get(sorted(l), idx); cols = (n+4)/5; new L medians; for (i = 0; i < cols; i++) medians.add(ithSmallest(subList(l, i*5))); // median of medians A mom = ithSmallest(medians); setA, setB = unpair filterAntiFilter(l, a -> lessThan(a, mom)); // TODO }