https://pjcs-pwc.blogspot.com/2022/03/all-about-primes.html