#include static int f, e, r, n, X, x, Y, y, Z, z, p, q, m = 131071, l[1<<17], I[1<<17], i; static char j[1<<17]; extern char h[14][512]; static void B(char *a) { for(; (i = *a); a++) if( i > 32 ) i > 76 && i < 91 ? B(h[i - 77]) : (void)putchar(i - 126 ? i : *++a); } static int b(int a) { return a ? a % 2 + b(a / 2) : 0; } int main(void) { h[1][2] *= sizeof('z') > 1; for(B(h[2]);;) { while( r - e < m / 2 && (i = getchar()) - EOF ) j[r++ & m] = i; if( e == r ) break; while( f < e && ((i = l[f & m]) < 0 || n - i > 256) ) { f++; } Z = -1; for(i = 0; i < e - f; i++) if( (y = l[(x = f + i) & m]) >= 0 ) { for(z = 0; z < 258 && e + z < r && j[(x + z) & m] == j[(e + z) & m] && ( (p = x + z - e) < 0 ? I[(x + z) & m] : (q = e - x, I[(x + p % q) & m] + 2 * p / q) ) < 998; z++) { } if( z > Z || (z == Z && b(n - y - 1) < b(n - Y - 1)) ) X = x, Y = y, Z = z; } if( Z > 2 ) { for(i = 0; i < Z; l[z] = i++ > 0 ? -1 : n) { I[z = e++ & m] = I[(X + i) & m] + 2; } z = Z + ((n - Y - 1) << 9) + m - 2; n += 2; } else { l[i = e++ & m] = n++; I[i] = 1; z = (j[i] & 255) ^ 288; } for(; z; z /= 2) puts(h[z & 1] + 1); } return 0; } char h[14][512] = { "," ,"Pzoltraak", "Zi"/* XXX*/" f ndefNUUVPpPT( I =1 +" "_ ):VP qPp(i=3M--R(jM" "*o--)):VPrP __ L" "I ~N E__Qjmp_buf" "Pj;intPsMiM IMlM k[99 9]={1<<30}M*" /*XX*/#define D(d)/*XX*/#d, D(o=k;voidPa( i ntP_){i%2?YiMp P_%9?T(s|=1<<( _-I)):_-I-17?( putchar(s^32)MY *o)?q(l=s%256+3M s=s/512+3Mi)? (* o- =l)>0?s=i=0Mq(( o[2]=*o