(defun random-select (L) (nth (random (length L)) L)) (defun random-select-non-mafia (L) (let ((target (random-select L))) (if (eq target 'm) (random-select-non-mafia L) target)))