anchor.diff:  (test p11 (is (= 70600674 (problem-11))))
   (test p12 (is (= 76576500 (problem-12))))
   (test p13 (is (= 5537376230 (problem-13))))
  +(test p14 (is (= 837799 (problem-14))))
   
   
   ; (run! :euler)
  
positive.code: (defun count-divisors (n)
    (* 2 (iterate (for i :from 1 :to (sqrt n))
                  (counting (dividesp n i)))))
  
  
  ;;;; Problems -----------------------------------------------------------------
  
negative.code:     parse-integer
      (nth-value 0 <>)))
  
  (defun problem-14 ()
    ;; The following iterative sequence is defined for the set of positive
    ;; integers:
    ;;
    ;;   n → n/2 (n is even)
    ;;   n → 3n + 1 (n is odd)
    ;;
    ;; Using the rule above and starting with 13, we generate the following
    ;; sequence:
    ;;
    ;;   13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
    ;;
    ;; It can be seen that this sequence (starting at 13 and finishing at 1)
    ;; contains 10 terms. Although it has not been proved yet (Collatz Problem),
    ;; it is thought that all starting numbers finish at 1.
    ;;
    ;; Which starting number, under one million, produces the longest chain?
    ;;
    ;; NOTE: Once the chain starts the terms are allowed to go above one million.
  
    (iterate (for i :from 1 :below 1000000)
             (finding i :maximizing #'collatz-length)))
  
  ;;;; Tests --------------------------------------------------------------------
  (def-suite :euler)
  