using System.Collections.Generic;
public static void Main()
var sequences = new int[][]
Console.WriteLine("Input:");
PrintSequences(sequences);
var ordered = sequences.OrderByDescending(s => s, new IntArrayComparer());
Console.WriteLine("Output:");
private static void PrintSequences(IEnumerable<int[]> sequences)
var sb = new StringBuilder();
foreach (var seq in sequences)
sb.Append(string.Format("{0,3}", i));
public class IntArrayComparer : IComparer<int[]>
public int Compare(int[] x, int[] y)
if (x == null || y == null)
return y == null ? -1 : 1;
if (x.Length != y.Length)
return x.Length.CompareTo(y.Length);
for (var i = 0; i < x.Length; i++)
var comparison = x[i].CompareTo(y[i]);