uses crt;
function max(a, b: longint): longint;
var t: longint;
begin
if a>b then t := a;
if b>a then t := b;
max := t;
end;
function min(a, b: longint): longint;
var t: longint;
begin
if a<b then t := a;
if b<a then t := b;
min := t;
end;
Var
i, j, k, n, t, m: longint;
a: array[1..100] of longint;
begin
clrscr;
readln(n);
m := n;
for i := 1 to n do read(a[i]);
for k := 1 to n do
begin
for i := 1 to n-1 do
begin
for j := 1 to n-1 do
begin
if (a[j]>a[j+1]) then
begin
t := a[j];
a[j] := a[j+1];
a[j+1] := t;
end;
end;
end;
for i := 1 to n-1 do
a[i] := max(a[i], a[i+1])-min(a[i],a[i+1]);
for i := 1 to n-1 do
write(a[i], ' ');
writeln;
dec(n);
end;
readln;
readln;
end.