template <typename T> constexpr bool ranges_intersect(const T& a, const T& b, const T& c, const T& d) { return (a < d) && (c < b); }