using System.Collections.Generic;
public static void Main()
var (n, c, sequence) = ABACABA.Calculate(Enumerable.Range('a', 23).Select(c => (char)c).ToArray()).Last();
Console.WriteLine($"{n:00}({c}): {sequence}");
private static void Print(char start, char last)
foreach (var (n, c, sequence) in ABACABA.Calculate(Enumerable.Range(start, last - start + 1).Select(c => (char)c).ToArray()))
Console.WriteLine($"{n:00}({c}): {sequence}");
public static class ABACABA
public static IEnumerable<(int n, char c, string sequence)> Calculate(params char[] alphabet)
var sb = new StringBuilder((int)Math.Pow(2, alphabet.Length) - 1);
yield return (++n, alphabet[0], sb.ToString());
foreach (var c in alphabet.Skip((1)))
yield return (++n, c, sb.ToString());
private static void Calculate(StringBuilder sb, char middle)
=> sb.Append(middle).Append(sb, 0, sb.Length - 1);