36 auto it=dat.lower_bound({l,0});
40 ll L=it->first,R=it->second;
42 if(L<l) dat.insert({L,l});
43 if(r<R) dat.insert({r,R});
48 while(it!=dat.end()&&it->first<r) {
49 ll L=it->first,R=it->second;
51 if(L<l) dat.insert({L,l});
52 if(r<R) dat.insert({r,R});