typedef pair>P; ll@n,@q,j=0; P b[2q]; rep(q){ ll@i,@s,@t; b[j++]={s,{0,i}}; b[j++]={t,{1,i}}; } sortA(2q,b); ll u=0,k=0; double a=0; double z[n]{}; rep(j,2q){ auto p=b[j]; if(k){ a+=1.0*(p.first-u)/k; } if(p.second.first){ z[p.second.second-1]-=a; ++k; }else{ z[p.second.second-1]+=a; --k; } u=p.first; } wtLn(z(n));