typedef struct { long t; long h; } N; N t[1<<18]; n;m; mk(i,a,b){ if(a>1; mk(i*2+1,a,c); mk(i*2+2,c,b); t[i].t=t[i*2+1].t>t[i*2+2].t?t[i*2+1].t:t[i*2+2].t; } } void add(int i,int a,int b,int l,int r,long d){ if(a>=l&&b<=r){ t[i].t+=d; t[i].h+=d; }else{ t[i*2+1].t+=t[i].h; t[i*2+1].h+=t[i].h; t[i*2+2].t+=t[i].h; t[i*2+2].h+=t[i].h; t[i].h=0; int c=a+b>>1; if(c>l){ add(i*2+1,a,c,l,r,d); } if(ct[i*2+2].t?t[i*2+1].t:t[i*2+2].t; } } main(){ int i; scanf("%d",&n); for(i=0;i