define s(p,q,i) {  /* start from i, find a quadratic residue "seed" mod p*q */
	auto n,z,x,v

	n = p * q
	z = i % n
	if(z <= 1) z = 2

	x = (z * z) % n
	x = (x * x) % n
	v = 1
	if((x%p) == 0) { v=0 ; x = (x+1) % n }
	if((x%q) == 0) { v=0 ; x = (x+1) % n }
	if(x <= 1) v=0

	while(v == 0) {
		x = (x * x) % n
		x = (x * x) % n
		v = 1
		if((x%p) == 0) { v=0 ; x = (x+1) % n }
		if((x%q) == 0) { v=0 ; x = (x+1) % n }
		if(x <= 1) { v=0 ; x=2 }
	}

	return(x)
}
