(Python)
from itertools import count
from sympy import factorint, isprime, prime, primorial
def a(n):
pn, prn = prime(n), primorial(n)
return next(k for m in count(1) if max(factorint(m), default=1)<=pn and isprime((k:=m*prn)-1) and isprime(k+1))
(PARI) isok(k, p) = if (k>1, vecmax(factor(k)[, 1])<=p, 1);
a(n) = my(P=vecprod(primes(n)), k=1, p=prime(n)); while(!(isok(k, p) && ispseudoprime(k*P-1) && ispseudoprime(k*P+1)), k++); k*P; \\
Michel Marcus, Apr 27 2025