```Program moments;

uses SysUtils, Classes;

function Power(Base : Real ; Exponent: Integer): Real;
var i : integer;
var pow : real;
begin
pow := Base;
For i:= 2 To Exponent do pow := pow * Base;
Power := pow;
end;

function Compare(A, B : Pointer) : integer;
begin
if Integer(A) > Integer(B) then
Result := 1
else if Integer(A) < Integer(B) Then
Result := -1
else
Result := 0;
end;

var
i, N, sum, num, middle : integer;
list : TList;
median, mean, deviation,
average_deviation, standard_deviation,
variance, skew, kurtosis : real;

begin
list := TList.Create;
While Not Eof(input) do
begin
end;
N := list.Count;
For i := 0 To N-1 do Inc(sum, Integer(list.Items[i]));
mean := sum / N;
average_deviation := 0;
standard_deviation := 0;
variance := 0;
skew := 0;
kurtosis := 0;

For i := 0 To N-1 do
begin
deviation := Integer(list.Items[i]) - mean;
average_deviation := average_deviation + Abs(deviation);
variance := variance + Power(deviation, 2);
skew := skew + Power(deviation, 3);
kurtosis := kurtosis + Power(deviation, 4);

end;
average_deviation := average_deviation / N;
variance := variance / (N-1);
standard_deviation := Sqrt(variance);

If variance <> 0 Then
begin
skew := skew / (N * variance * standard_deviation);
kurtosis := kurtosis / (N * variance * variance ) - 3.0;
end;

list.Sort(Compare);
middle := N Div 2;

If (N Mod 2) <> 0 Then
median := Integer(list.Items[middle])
Else
median := (Integer(list.Items[middle]) + Integer(list.Items[middle-1])) / 2;

WriteLn('n:                  ', N);
WriteLn('median:             ', median:6:6);
WriteLn('mean:               ', mean:6:6);
WriteLn('average_deviation:  ', average_deviation:6:6);
WriteLn('standard_deviation: ', standard_deviation:6:6);
WriteLn('variance:           ', variance:6:6);
WriteLn('skew:               ', skew:6:6);
WriteLn('kurtosis:           ', kurtosis:6:6);
end.
```