public boolean contains(int el) {int n = intervals.size();int l = 0;int r = n - 1;while (l <= r) {int m = (l + r) / 2;Interval I = intervals.get(m);int a = I.a;int b = I.b;if ( b<el ) {l = m + 1;} else if ( a>el ) {r = m - 1;} else { return true;}}return false;}
public virtual bool Contains(int el){int n = intervals.Count;for (int i = 0; i < n; i++){Interval I = intervals[i];int a = I.a;int b = I.b;if (el < a){break;}if (el >= a && el <= b){return true;}}return false;}