# Pastebin a6T061fj (defun cartesian (l) (cond ((null l) nil) ((null (cdr l)) (mapcar #'list (car l))) (t (mapcan #'(lambda (x) (mapcar #'(lambda (y) (cons y x)) (car l))) (cartesian (cdr l))))))