int CommonIntervalLength(int i1start, int i1end, int i2start, int i2end) { if (i1end < i2start || i2end < i1start) return 0; return Math.Min(i1end, i2end) - Math.Max(i1start, i2start); }