/* Custom encoding with numbers of chars matching the last word first, then the rest of the word encoded with a 5-bit dictionary 00-17 normal chars, except 0x01 which is an escape code for the lesser used chars (zjwfxvb-NDk) 18 le 19 te 20 en 21 an 22 th 23 ae 24 on 25 or\n 26 on\n 27 us\n 28 a\n 29 s\n 30 e\n 31\n The order of the chars/sequences is shuffled to minimize the number of escaped chars in the data */ unsigned char* t= "h!duoytrgsalceminplteataooouase" /* lookup for the first character */ "ennhenrns" /* lookup for the second character */ "zjwfxvb-NDk" /* lookup for escaped characters */ "removed"; /* ^^^^ the actual compressed data stream */ char n[99]; /* word buffer */ int b,c,i,j,o,r,s; /* some variables */ int g(m) /* function for getting N bits from the data stream */ { if (s>=m; s-=m; return r; } int main() { for(j=1032,i=51;j--;) { /* gets number of bytes that's equal to the previous word */ o=g(1)?g(3):g(1)+2; for(;;) { /* if the read code is the escape code, get char from escape table */ if((c=g(5))==1) n[o++]=t[g(4)+38]; else { /* if the code isn't 31, add char from lookup */ if(c<31) n[o++]=t[c]; /* if the code is between 18 and 27, add a second char from lookup */ if(c>17&&c<28) n[o++]=t[c+12]; /* if the code is 25 or more, add null, uppercase first letter, then break */ if(c>24) { n[o++]=0; n[0]&=223; break; } } } puts(n); } exit(0); }