int is_prime(long num) { int i = 5; int w = 2; if (num == 1) return 0; if (num == 2 || num == 3) return 1; if (!(num%2) || !(num%3)) return 0; while ((i*i) <= num) { if (!(num%i)) return 0; i += w; w = 6 - w; } return 1; }