using System;
using System.Linq;
public class Program
{
public static void Main()
var items = new string[]
"System",
"System.Collection.Generic",
"System.Generic",
"System.Linq",
"System.Linq.Collection.Generic"
};
var sortedItems = items
// Order by number of periods ("levels")
.OrderBy(x => x.Count(c => c == '.'))
// Then everything else alphabetically
.ThenBy(x => x);
foreach (var item in sortedItems)
Console.WriteLine(item);
}