/* Reproduce prime_cut2.c on stdout. */ #include static int i, j; /* Recursively output dictionary compressed string. */ static void Output(const char *p) { static const char *kDictionary[] = { /*P*/ "/*/A", /*Q*/ "define", /*R*/ "#include", /*S*/ "#if", /*T*/ "#endif", /*U*/ "ndefD", /*V*/ "PSD0P#uU", /*W*/ "R", /*X*/ "SUoPA", /*Y*/ "P#uUO", /*Z*/ "#QD_DB", /*[*/ "PintDmain(void){returnDputs(_)<0;}", }; for(; (j = *p); p++) { j >= 'P' && j <= '[' ? Output(kDictionary[j - 'P']), 0 : putchar(j >= 'A' && j <= 'D' ? j * 24 % 50 : j); } } int main(void) { /* Output header. */ Output("/*AZoneBPXXWPW"); /* Output middle detector lines. */ for(i = 8; i < 9973; Output(j < i++ ? "A" : "P")) { for(j = 2; j < i && i % j; j++); } /* Output footer. */ Output("/*/ZcompositeBAPSU_AZprimeBAT/P#QDoPPRD__FILE__ASD!Qd(o)&&Qd(O)V_AZ?BAPT/*/T/P/*/T/[[/PTPTYYPSD__LINE__==9994Vo/PT/*ATP#QDO/P"); return 0; }