(C)
#include <stdio.h>
#define TOP (1ULL<<32)
typedef unsigned long long U64;
int main() {
U64 i, j, k, n=1, *primes = (U64*)malloc(TOP);
char *c = (char*)malloc(TOP/2);
memset(c, 0, TOP/2);
for (primes[0] = 2, i = 3; i < TOP; i+=2)
if (c[i>>1]==0) {
primes[n++] = i;
if ((n%3)==0 && (i+primes[n*2/3-1]) % primes[n/3-1]==0)
printf("%llu, ", n/3);
for (j = i*i>>1; j < TOP/2; j += i) c[j] = 1;
}
return 0;
}