#include <stdio.h>
#include <stdlib.h>
#define LIMIT 10000000 /*size of integers array*/
int main()
{
unsigned long long int i=2, k=2, l=2;
int inside=0, j, z=1, *primes=malloc(sizeof(int)*LIMIT);
int limit= 50;
while(!(i<limit && (primes[i]=1, i++, 1)) && !(k<limit && (primes[k] && ((inside==0 && (j=k, inside=1)), k*j<limit && (primes[k*j]=0, j++, 1)), (k*j>=limit && (inside=0)), (inside==0 && (k++)), 1)) && (l<limit && (primes[l] && (printf("%dth prime = %d\n", z++, l)), l++, 1)), l<limit);
return 0;
}