program additive_primes; loop for i in [i : i in [1..499] | additive_prime i] do nprint(lpad(str i, 4)); if (n +:= 1) mod 10 = 0 then print; end if; end loop; print; print("There are " + str n + " additive primes less than 500."); op additive_prime(n); return prime n and prime digitsum n; end op; op prime(n); return n>=2 and not exists d in {2..floor sqrt n} | n mod d = 0; end op; op digitsum(n); loop while n>0; s +:= n mod 10; n div:= 10; end loop; return s; end op; end program;