using System;
using System.Linq;
public class Test
{
public static void Main()
{
var input = new[] {"moo", "*", "foo", "bar", "baz", "*", "roo",
"moo", "*", "*", "hoot", "*", "boot"};
int index = 0;
var output = input.Select(x => new {Item=x, GroupCondition = x=="*" ? ++index : index}).GroupBy((x)=>x.GroupCondition).Select(x=>x.Select(y=> y.Item));
foreach(var item in output)
{
Console.WriteLine(String.Join(" ", item.ToArray()));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKICAgICAgICB2YXIgaW5wdXQgPSBuZXdbXSB7Im1vbyIsICIqIiwgImZvbyIsICJiYXIiLCAiYmF6IiwgIioiLCAicm9vIiwgCiAgICAgICAgICAgICAgICAgICAibW9vIiwgIioiLCAiKiIsICJob290IiwgIioiLCAiYm9vdCJ9OwogICAgICAgIGludCBpbmRleCA9IDA7CiAgICAgICAgdmFyIG91dHB1dCA9IGlucHV0LlNlbGVjdCh4ID0+IG5ldyB7SXRlbT14LCBHcm91cENvbmRpdGlvbiA9IHg9PSIqIiA/ICsraW5kZXggOiBpbmRleH0pLkdyb3VwQnkoKHgpPT54Lkdyb3VwQ29uZGl0aW9uKS5TZWxlY3QoeD0+eC5TZWxlY3QoeT0+IHkuSXRlbSkpOwogICAgICAgCiAgICAgICAgZm9yZWFjaCh2YXIgaXRlbSBpbiBvdXRwdXQpCiAgICAgICAgewogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShTdHJpbmcuSm9pbigiICIsIGl0ZW0uVG9BcnJheSgpKSk7CiAgICAgICAgfQogICAgCgkJCgl9Cn0=