Спасибо, я посмотрел код по ссылкам - попробую адаптировать под мои нужды. Хотя ( моя вина - не написал с самого начала, что обратная нумерация должна идти со штрихом рядом с буквой ) этот код не совсем подходит - т.к. Параллельные ветки списка не идентичны - в обратной есть штрих рядом с буквой, а значит один и тот же код для li  к обоим веткам уже не применить. Вот полная структура списка: a. A   b. B     c. C       d. D     c'. C'   b'. B' a'. A' Спасибо, есть от чего оттолкнуться. Если у кого еще есть какие варианты - буду благодарен. Да, забыл написать, что в реальных задачах уровень размерности не ограничивается 4, как в этом примере, он может быть и 14 и более... Это я к тому, что хорошо бы придумать универсальный код, подходящий под любую размерность списков. В любом случае - спасибо всем, кто отозвался и еще откликнется.