internal static string StackDescription(int[] a, int index)
{
var sb = new StringBuilder();
sb.Append(a.Length - index);
sb.Append('/');
sb.Append(a.Length);
if (sb.Length < 8)
sb.Append(' ', 8 - sb.Length);
sb.Append('(');
for (int i = index; i < a.Length; i++)
{
if (i > index)
sb.Append(' ');
sb.Append(a[i]);
}
sb.Append(')');
return sb.ToString();
}