(defun f (n)
(if (= n 2)
(setq va (list 2))
(if (= n 3)
(setq va (list 3 2))
(if (= n 4)
(setq va (list 3 2))
(if (= n 5)
(setq va (list 5 3 2))
(if (= (apply '* (mapcar '(lambda (x) (rem n x)) (f (fix (sqrt n))))) 0)
(if (> (rem n 6) 1)
(setq va (f (- n -1 (rem n 6))))
(setq va (f (- n 1 (rem n 6))))
)
(if (= (rem n 6) 5)
(setq va (cons n (f (- n -1 (rem n 6)))))
(setq va (cons n (f (- n 1 (rem n 6)))))
)
)
)
)
)
)
va
)
(reverse (f 1000))