procedure main(A) every m := n := integer(!A) do { ap := 0 while (*n > 1) do (ap +:= 1, n := sumdigits(n)) write(m," has additive persistence of ",ap," and digital root of ",n) } end procedure sumdigits(n) s := 0 n ? while s +:= move(1) return s end