return;
}
int mid=(l+r)>>1;
build(m<<1,l,mid);
build(m<<1|1,mid+1,r);
pushup(m);
return;
}
void updata...lazy++;
tr[m].sum+=r-l+1;
return;
}
pushdown(m);
int mid=(tr[m].l+tr[m].r)>>1;
if(r<=mid)
updata...(m<<1,l,r);
else if(l>mid)
updata(m<<1|1,l,r);
else
{
updata(m<<1,l,mid);
updata(m<<1|1...n)break;
build(1,1,n);
int x,y;
for(int i=0;i<n;i++)
{
scanf("%d%d",&x,&y);
updata