using System;
using System.Collections.Generic;
public class Test{
public static void Main(){
var ls = new LinkedList<String>();
for(int i=0; i<10; i++){ls.AddFirst(""+(char)('A'+i));}
f(ls);
}
static void f<T>(ICollection<T> c){
f(c, c.Count);
}
static void f<T>(IEnumerable<T> c, int cnt){
int ix=1;
foreach(T et in c){
Console.WriteLine("({0,3}% : {1}/{2}) {3}", ix*100/cnt, ix, cnt, et);
ix++;
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0ewogICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpewogICAgICB2YXIgbHMgPSBuZXcgTGlua2VkTGlzdDxTdHJpbmc+KCk7CiAgICAgIGZvcihpbnQgaT0wOyBpPDEwOyBpKyspe2xzLkFkZEZpcnN0KCIiKyhjaGFyKSgnQScraSkpO30KICAgICAgZihscyk7CiAgIH0KCiAgIHN0YXRpYyB2b2lkIGY8VD4oSUNvbGxlY3Rpb248VD4gYyl7CiAgICAgIGYoYywgYy5Db3VudCk7CiAgIH0KCiAgIHN0YXRpYyB2b2lkIGY8VD4oSUVudW1lcmFibGU8VD4gYywgaW50IGNudCl7CiAgICAgIGludCBpeD0xOwogICAgICBmb3JlYWNoKFQgZXQgaW4gYyl7CiAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIoezAsM30lIDogezF9L3syfSkgezN9IiwgaXgqMTAwL2NudCwgaXgsIGNudCwgZXQpOwogICAgICAgICBpeCsrOwogICAgICB9CiAgIH0KfQ==