#!/usr/bin/emacs --script (defvar inputs (list 1 2 6 8 28 46))  (format t "* Imperative *~%") (defun perfectNumberFunctional (number)   (= number      (loop for x from 1 below number           when (= 0               (mod number x))                sum x)))   (defun perfectNumberImperative (number)    (defvar sum 0)    (setq sum 0)    (loop      for x from 1 to (- number 1)      when ( = 0 (mod number x) )      do (setq sum (+ sum x))    )    (= sum number) )   (dolist (x inputs)     (princ x)     (princ " is")     (if (perfectNumberImperative x) (princ "") (princ " NOT"))     (princ " Perfect ")     (format t "~%") )