(defun primes-to (n)
;;It's backwards
(let ((candidates (loop for i from 2 to n collect i)) (primes nil) (test nil))
(loop while candidates do
(setf test (pop candidates))
(unless (zerop test)
(push test primes)
(setf candidates (remove-if #'(lambda (x) (zerop (rem x test))) candidates))
(when (> test (sqrt n))
(setf primes (append canditates primes)) (return))))
primes))
(apply #'+ (primes-to 2000000))
KGRlZnVuIHByaW1lcy10byAobikKICA7O0l0J3MgYmFja3dhcmRzCiAgKGxldCAoKGNhbmRpZGF0ZXMgKGxvb3AgZm9yIGkgZnJvbSAyIHRvIG4gY29sbGVjdCBpKSkgKHByaW1lcyBuaWwpICh0ZXN0IG5pbCkpCiAgICAobG9vcCB3aGlsZSBjYW5kaWRhdGVzIGRvCiAgICAgIChzZXRmIHRlc3QgKHBvcCBjYW5kaWRhdGVzKSkKICAgICAgKHVubGVzcyAoemVyb3AgdGVzdCkKICAgICAgCShwdXNoIHRlc3QgcHJpbWVzKQogICAgICAJKHNldGYgY2FuZGlkYXRlcyAocmVtb3ZlLWlmICMnKGxhbWJkYSAoeCkgKHplcm9wIChyZW0geCB0ZXN0KSkpIGNhbmRpZGF0ZXMpKQogICAgICAJKHdoZW4gKD4gdGVzdCAoc3FydCBuKSkKICAgICAgCSAoc2V0ZiBwcmltZXMgKGFwcGVuZCBjYW5kaXRhdGVzIHByaW1lcykpIChyZXR1cm4pKSkpCiAgICBwcmltZXMpKQoKKGFwcGx5ICMnKyAocHJpbWVzLXRvIDIwMDAwMDApKQ==