func is_long_prime(p) { for d in (divisors(p-1)) { if (powmod(10, d, p) == 1) { return (d+1 == p) } } return false } say "Long primes ≤ 500:" say primes(500).grep(is_long_prime).join(' ') for n in ([500, 1000, 2000, 4000, 8000, 16000, 32000, 64000]) { say ("Number of long primes ≤ #{n}: ", primes(n).count_by(is_long_prime)) }