Для себя разбил на 2 этапа: 1. Заполнить новый список 2. Вывести его в соответствии с заданием Здесь добавляю и вывожу новый список не в соответствии с заданием. Но вопрос по п.1 выше: Ожидаю, что наполнение списка будет соответстовать заданию, но это не так. Возможно, нужно что-то придумать с индексами нового списка. При этом, при попытке задублировать "слова", вставляя их в конец нового списка (add(st)), результат вывода всё равно получается странный. В чём моё непонимание алгоритма добавления в этом случае? P.S. закоментированный вывод можно не смотреть - его буду еще дорабатывать.