static void MainMethod()
{
long[] arr = { 8, 5, 3, 2, 1, 7, 6, 4 };
MergeSort mergeSort = new MergeSort();
Console.WriteLine("Array length: {0}", arr.Length);
Console.WriteLine("Max # inversions possible: {0}", MergeSort.MaxNumInversions(arr.LongLength));
Console.WriteLine("Not sorted: {0}", string.Join(", ", arr));
Console.WriteLine("Sorted: {0}", string.Join(", ", mergeSort.Sort(arr, true)));
Console.WriteLine("Calculated inversions: {0}", mergeSort.Inversions);
mergeSort.ResetInversions();
}