pseudo-prime function