Вставка элемента в список (без рекурсии)

Здравствуйте!!! У меня есть такая задача: дан список, число и произвольное s-выражение. Поставить s-выражение в список перед элементом, номер которого равен числу, например

В общем, рекурсивный вариант программы я написал:

LispВыделить код

1
2
3
4

(DEFUN INS (LST K N)
(IF(= N 1)
(CONS K LST)
(CONS (CAR LST) (INS (CDR LST) K (- N 1)))))

А вот как решить эту же задачу, не используя рекурсию, а используя циклы и простейшие команды типа LIST, APPEND, CONS и т.д.?

Заранее спасибо!!!