using System;
using System.Linq;
public class Test
{
public static void Main()
{
var data = new string[] {"1:ooo","=:gg","=:nnn","1:ii","2:aa","2:dd","1:uuu","2:sss","2:ee"};
var specialOrder = "12=";
var ordered = data.OrderByDescending(s => s.Length).ThenBy(s => specialOrder.IndexOf(s[0])).ThenBy(s => s);
Console.WriteLine(string.Join("/", ordered));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQl2YXIgZGF0YSA9IG5ldyBzdHJpbmdbXSB7IjE6b29vIiwiPTpnZyIsIj06bm5uIiwiMTppaSIsIjI6YWEiLCIyOmRkIiwiMTp1dXUiLCIyOnNzcyIsIjI6ZWUifTsKCQl2YXIgc3BlY2lhbE9yZGVyID0gIjEyPSI7CgkJdmFyIG9yZGVyZWQgPSBkYXRhLk9yZGVyQnlEZXNjZW5kaW5nKHMgPT4gcy5MZW5ndGgpLlRoZW5CeShzID0+IHNwZWNpYWxPcmRlci5JbmRleE9mKHNbMF0pKS5UaGVuQnkocyA9PiBzKTsKCQlDb25zb2xlLldyaXRlTGluZShzdHJpbmcuSm9pbigiLyIsIG9yZGVyZWQpKTsKCX0KfQ==