$= public List<string> a(int c,List<string> b)
{
List<int> l1 = b.Append("#").Select((x,i)=>x.StartsWith("#")?i:-1).Where(x=>x>=0).ToList(); int n = l1.Skip(c-1).First(); int m = l1.Skip(c-1).Take(2).Last(); return b.Skip(n).Take(m-n).Prepend("").JoinToString().Replace("\r\n#","").SplitToListOrNull().ToList();
} var bl = {c}.Append("#").Select((x,i)=>x.StartsWith("#")?i:-1).Where(x=>x>=0).Select((y,i)=>a(i,{c}).JoinToString()).Skip(1);