using System;
using System.Collections.Generic;
public class Test
{
public delegate int MyComparer<T>(T left, T right);
public static void Sort<T>(List<T> elements, MyComparer<T> comparer)
{
elements.Sort((l, r) => comparer(l, r));
}
public static void Main()
{
var elems = new List<int> { 3, 2, 1 };
Sort(elems, (l, r) => l.CompareTo(r));
elems.ForEach(Console.WriteLine);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBkZWxlZ2F0ZSBpbnQgTXlDb21wYXJlcjxUPihUIGxlZnQsIFQgcmlnaHQpOwoJCglwdWJsaWMgc3RhdGljIHZvaWQgU29ydDxUPihMaXN0PFQ+IGVsZW1lbnRzLCBNeUNvbXBhcmVyPFQ+IGNvbXBhcmVyKQoJewoJCWVsZW1lbnRzLlNvcnQoKGwsIHIpID0+IGNvbXBhcmVyKGwsIHIpKTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBlbGVtcyA9IG5ldyBMaXN0PGludD4geyAzLCAyLCAxIH07CgkJU29ydChlbGVtcywgKGwsIHIpID0+IGwuQ29tcGFyZVRvKHIpKTsKCQllbGVtcy5Gb3JFYWNoKENvbnNvbGUuV3JpdGVMaW5lKTsKCX0KfQ==