```// \$Id: moments.csharp,v 1.0 2002/11/27 13:19:00 dada Exp \$
//
// Transliterated from the Java implementation.
//
// contributed by Isaac Gouy

using System;
using System.Collections;

namespace LanguageShootout
{
class Moments
{
static void Main(string[] args)
{
String line;
ArrayList numbers = new ArrayList();
double num, sum = 0.0;
double mean = 0.0;
double average_deviation = 0.0;
double standard_deviation = 0.0;
double variance = 0.0;
double skew = 0.0;
double kurtosis = 0.0;
double median = 0.0;
double deviation = 0.0;
int i, n, mid = 0;

while ( (line = Console.ReadLine()) != null ) {
num = Double.Parse(line);
sum += num;
}

n = numbers.Count;
mean = sum / n;
for (i=0; i<n; i++) {
deviation = (double)numbers[i] - mean;
average_deviation += Math.Abs(deviation);
variance += Math.Pow(deviation,2);
skew += Math.Pow(deviation,3);
kurtosis += Math.Pow(deviation,4);
}
average_deviation /= n;
variance /= (n - 1);
standard_deviation = Math.Sqrt(variance);
if (variance != 0.0) {
skew /= (n * variance * standard_deviation);
kurtosis = kurtosis/(n * variance * variance) - 3.0;
}

numbers.Sort();

mid = n / 2;
median = (n % 2 != 0) ?
(double)numbers[mid] :
((double)numbers[mid] + (double)numbers[mid-1]) / 2;

Console.WriteLine("n:                  {0:d}", n);
Console.WriteLine("median:             {0:f6}", median);
Console.WriteLine("mean:               {0:f6}", mean);
Console.WriteLine("average_deviation:  {0:f6}", average_deviation);
Console.WriteLine("standard_deviation: {0:f6}", standard_deviation);
Console.WriteLine("variance:           {0:f6}", variance);
Console.WriteLine("skew:               {0:f6}", skew);
Console.WriteLine("kurtosis:           {0:f6}", kurtosis);
}
}
}

```