anchor.diff:  			     (cons i (cons (/ n i) res)))))
   	(t (factors-helper n (1+ i) res))))
   
  +(defun factors-help (n i res)
  +  (cond ((> (* i i) n)
  +	 res)
  +	((zerop (rem n i))
  +	 (factors-help n
  +		       (1+ i)
  +		       (if (= i (quot n i))
  +			   (let* ((lres (length res)))
  +			     (append (subseq res 0 (/ lres 2))
  +				     (cons i (subseq res (/ lres 2)))))
  +			   (let* ((lres (length res)))
  +			     (append (subseq res 0 (/ lres 2))
  +				     (append (list i (/ n i)) (subseq res (/ lres 2))))))))
  +	(t (factors-help n (1+ i) res))))
  +
   (defun factors (n)
     "Returns the positive integer factors of n"
     (factors-helper n 1 '()))
   
  +(defun sorted-factors (n)
  +  "Returns the positive integer factors of n"
  +  (sort (factors-helper n 1 '()) '<))
  +
  +
  +
   (defun sum-factors (n)
     "Returns the sum of n positive integer factors"
     (- (sum (factors n)) n))
  +
  +
   
   (defun count-factors-helper (n i res)
     (cond ((> (* i i) n)
  
positive.code: 		      (if (prime? a) (cons a res) res))
  	    (lcm-list xs (cons a res))))))
  
  (defun take (n ls)
    "Returns a list containing n first elements of ls"
    (if (= n 0)
        '()
        (if (empty? ls)
  	  ls
  	  (cons (first ls) (take (dec n) (rest ls))))))
  
  (defun take-while (fn ls)
    "Returns the elements of ls starting from first while (fn elmt) is true"
    (if (empty? ls)
        ls
        (if (not (funcall fn (first ls)))
  	  nil
  	  (cons (first ls) (take-while fn (rest ls))))))
  
  (defun drop (n col)
    "Drop n first elements in col"
    (if (= n 0)
        col
        (drop (dec n) (rest col))))
  
  ;; Some performance test
  
  (defun drop-while (fn ls)
    "Returns the elements of ls starting from first while (fn elmt) is true"
    (if (empty? ls)
        ls
        (if (funcall fn (first ls))
  	  (drop-while fn (rest ls))
  	  ls)))
  
  (defun next-prime (x)
    "Returns the next positive prime number larger than x"
  
negative.code: 	((evenp p) nil)
  	(t (prime-helper p 3))))
  
  (defun take (n ls)
    "Returns a list containing n first elements of ls"
    (if (= n 0)
        '()
        (if (empty? ls)
  	  ls
  	  (cons (first ls) (take (dec n) (rest ls))))))
  
  (defun take-while (fn ls)
    "Returns the elements of ls starting from first while (fn elmt) is true"
    (if (empty? ls)
        ls
        (if (not (funcall fn (first ls)))
  	  nil
  	  (cons (first ls) (take-while fn (rest ls))))))
  
  (defun drop (n col)
    "Drop n first elements in col"
    (if (= n 0)
        col
        (drop (dec n) (rest col))))
  
  ;; Some performance test
  
  (defun drop-while (fn ls)
    "Returns the elements of ls starting from first while (fn elmt) is true"
    (if (empty? ls)
        ls
        (if (funcall fn (first ls))
  	  (drop-while fn (rest ls))
  	  ls)))
  
  (defun factors-helper (n i res)
    (cond ((> (* i i) n)
  	 res)
  