/* gema2.c - Don Yang (uguu.org) 12/01/01 */ #include char source[4096] = ";_22VDD=]RFIU\\YGWoqqAkiLm^]pK@qmD2qMFca7@YSLYpl=kHTapHXIQ^VcM]Pj=RSAGD>@Gk@DkU4FXGDDqlqpppqkMXe:qpnKXcH9O[KOqp]qgQPmqOI88TAclqqT^pkojoXXjAGLHnnZohT`o@_cqmjiUdfVTPpZYQNhUiPBQAWnM2K]iibOo]kdgqJNg_mfPl[jgQo`pcPQOGIHEIgOKca`^lVXWdlPIo_qdnPg[LO5WZBXjg8=2Qc7Va9QYIQAEpIqmNWqpqqkYJm^qeig>PhAMXgeUenNMi__oqiFf8AkfRD27F@[:oaYQ3[HBAiMViQ;OiQV=h4Ih>IYQMmUWfk[YhMEmQa]Vhl2ClaOSRl;aSF:T;7ZMKpm4@K3AdKUT^=eQQ`4Kb=E8lYXN6ic6aTXSq:foAPKXo3YQOlYQRTMcnY`LcmlUVVoKXXUbgf?m`[lkc96V;qJ[YbSeTL5eA6OcaXnB6hQ8`S\\TPaA@<?PG[aaaa9PQkY9Ya9Cap_SMNnWWS96UGfEXBK;hcK;YjAX@fkpQe@3Z:>NcOPHLFDqTN]Qnakfa@T@qTQHUqW_g]mfKq`i5A@AaPP`^?<8;k96hP5\\U:YPpF^mHa?_JhLPBIfpPEU]hNBXLCI3bbd3oiYHSC]<]fCKLVh`@Hp4;Yj?WajESIq@6MDSCk[canbTlLJMGFeR2KASVThSd_;Iqh[CookKHCkopoWWO?IlWA:TMB7Go7AUoNebn]liURRVdLMcoolllllpqojmqjLHcaAa8`[ggW_?45d<<4`Ck3gk6cLX;D]aYWL@X]RBfdlmocMo]MLDTDLec[mgSVe<>acPA]5]a8\\mh8ck3CO[;QJTlPPhqKIT`mB;djnllmm;ngPpf5Oe=Y^F2giBOMqhNna?mnppoqjkkSgkkkgiQNnX6mAWbpEJMQknkpRcOk[;]ohPk[9a>=Rii>]SIV^^XpnNp`>][;AmkfYklTgJ3MXbUQn\\neeeqqqaQQIY=6D> shift) & (1 << (pos % 3)); pos++; return r ? 1 : 0; } int main() { for(p = q = source; *q; *(p++) = *(q++) - 50) for(; *q < 33; q++); shift = 4 //**/ 4 -1; pos = offset = 0; while( pos < 4452 ) { j = GetBit(); for(i = length = 0; i < 5; i++) length = (length << 1) | GetBit(); if( j ) for(i = 0; i < length; i++) if( GetBit() ) if( GetBit() ) { for(j = k = 0; j < 3; j++) k = (k << 1) | GetBit(); output[offset++] = dict[k]; } else output[offset++] = GetBit() ? 'X' : '%'; else output[offset++] = ' '; else { for(i = j = 0; i < 5; i++) j = (j << 1) | GetBit(); for(i = 0; i < length; i++) { output[offset] = output[offset - j]; offset++; } } } output[offset] = 0; return puts(output); }