auto res = *ranges::partition_point(views::iota(lo, hi), check);
this returns the first $$$x$$$ in the range $$$[lo, hi)$$$ such that check(x)
is not true, or $$$hi$$$ if it doesn't exist. Be careful to make sure the $$$lo$$$ and $$$hi$$$ are both integers of the same type, otherwise there is weird behavior.
example usage: 284450329