bool intersects(vector::const_iterator it, int start, int end) { return (start <= it->start && it->start <= end) || (start <= it->end && it->end <= end); }