pub fn lower_bound<T: Ord>(x: &[T], d: &T) -> i64