//100p #include #include using namespace std; ifstream f("viitor.in"); ofstream g("viitor.out"); int n,m,k,x,y,u,i,nr,px,py,s,a,b; struct zi{ int st,dr,sum;} Z[100001]; struct interval{int st,dr; friend bool operator < (interval I1, interval I2) {return (I1.st =Z[m].st && a<=Z[m].dr) return m; else if(a>n>>m>>k; for(i=1;i<=m;++i) f>>Interval[i].st>>Interval[i].dr; sort(Interval+1, Interval+m+1); u=0; for(i=1;i<=m;++i) {x=Interval[i].st; y=Interval[i].dr; if(x>u+1) {nr++;Z[nr].st=u+1; Z[nr].dr=x-1;Z[nr].sum=Z[nr-1].sum+(x-u-1);} u=max(u,y);} if(u>x>>y; s=0; px=cb(x,1,nr); py=cb(y,1,nr); a=max(Z[px].st,x); b=min(Z[px].dr,y); if(a<=b) s=b-a+1; if(px!=py) {px++; a=max(Z[py].st,x); b=min(Z[py].dr,y); if(a<=b) s+=b-a+1; py--; s+=(Z[py].sum-Z[px-1].sum); } g<