using System;
using System.Collections.Generic;
public class Test
{
static IEnumerable<string> Generate()
{
yield return "A";
yield return "B";
yield return "C";
}
public static void Main()
{
foreach (var outer in Generate())
{
Console.WriteLine(outer);
if (outer == "B")
{
foreach (var inner in Generate())
Console.WriteLine(" " + inner);
}
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXN0YXRpYyBJRW51bWVyYWJsZTxzdHJpbmc+IEdlbmVyYXRlKCkKCXsKCQl5aWVsZCByZXR1cm4gIkEiOwoJCXlpZWxkIHJldHVybiAiQiI7CgkJeWllbGQgcmV0dXJuICJDIjsKCX0KCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJZm9yZWFjaCAodmFyIG91dGVyIGluIEdlbmVyYXRlKCkpCgkJewoJCQlDb25zb2xlLldyaXRlTGluZShvdXRlcik7CgkJCWlmIChvdXRlciA9PSAiQiIpCgkJCXsKCQkgICAgICAgIGZvcmVhY2ggKHZhciBpbm5lciBpbiBHZW5lcmF0ZSgpKQoJCSAgICAgICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKCIgICAgIiArIGlubmVyKTsKCQkJfQoJCX0KCX0KfQ==