百度我爱你
{var f,ls,rs,a,t,l,r:array[0..30000] of longint;
h:array[0..30000] of real;
i,root,n:longint;
sum:int64;
procedure ro(x:longint);
var p,q:longint;
begin
p:=f[x]; q:=rs[x];
if p=root then root:=x else
if p=ls[f[p]] then ls[f[p]]:=x else rs[f[p]]:=x;
f[x]:=f[p];
f[p]:=x; rs[x]:=p;
ls[p]:=q; f[q]:=p;
t[x]:=t[p]; t[p]:=t[q]+t[rs[p]]+1;
end;
procedure lo(x:longint);
var p,q:longint;
begin
p:=f[x]; q:=ls[x];
if p=root then root:=x else
if p=ls[f[p]] then ls[f[p]]:=x else rs[f[p]]:=x;
f[x]:=f[p];
f[p]:=x; ls[x]:=p;
rs[p]:=q; f[q]:=p;
t[x]:=t[p]; t[p]:=t[q]+t[ls[p]]+1;
end;
{var f,ls,rs,a,t,l,r:array[0..30000] of longint;
h:array[0..30000] of real;
i,root,n:longint;
sum:int64;
procedure ro(x:longint);
var p,q:longint;
begin
p:=f[x]; q:=rs[x];
if p=root then root:=x else
if p=ls[f[p]] then ls[f[p]]:=x else rs[f[p]]:=x;
f[x]:=f[p];
f[p]:=x; rs[x]:=p;
ls[p]:=q; f[q]:=p;
t[x]:=t[p]; t[p]:=t[q]+t[rs[p]]+1;
end;
procedure lo(x:longint);
var p,q:longint;
begin
p:=f[x]; q:=ls[x];
if p=root then root:=x else
if p=ls[f[p]] then ls[f[p]]:=x else rs[f[p]]:=x;
f[x]:=f[p];
f[p]:=x; ls[x]:=p;
rs[p]:=q; f[q]:=p;
t[x]:=t[p]; t[p]:=t[q]+t[ls[p]]+1;
end;