int e( int m, int p, int q) /* returns m^p mod q. */ { int j , z = 1; for (j = p; j ; j >>= 1) { if (j & 1 == 1) z = z * m % q; m = m * m % q; } return(z); }