var
f:array[0..5000]of longint;
max,min:array[1..5000,1..5000]of longint;
i,j,t,m,n,p,k,l,a:longint;
begin
readln(t);
for i:=1 to t do
begin
fillchar(f,sizeof(f),0);
fillchar(max,sizeof(max),0);
fillchar(min,sizeof(min),$7f);
readln(n);
for j:=1 to n do
begin
read(m);
for k:=j downto 1 do
begin
if m>max[j,k] then max[j,k]:=m;
if m<min[j,k] then min[j,k]:=m;
p:=abs(max[j,k]-min[j,k]);
for l:=0 to n-1 do
if p<=l then f[l]:=f[l]+1;
end;
end;
for j:=0 to n-1 do
writeln(f[j],' ');
end;
end.
f:array[0..5000]of longint;
max,min:array[1..5000,1..5000]of longint;
i,j,t,m,n,p,k,l,a:longint;
begin
readln(t);
for i:=1 to t do
begin
fillchar(f,sizeof(f),0);
fillchar(max,sizeof(max),0);
fillchar(min,sizeof(min),$7f);
readln(n);
for j:=1 to n do
begin
read(m);
for k:=j downto 1 do
begin
if m>max[j,k] then max[j,k]:=m;
if m<min[j,k] then min[j,k]:=m;
p:=abs(max[j,k]-min[j,k]);
for l:=0 to n-1 do
if p<=l then f[l]:=f[l]+1;
end;
end;
for j:=0 to n-1 do
writeln(f[j],' ');
end;
end.