#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; } #define D(d) ,#d char h[14][512] = { ",", "Pzoltraak" D( ZifndefN U U VPpPT(I=1+_): VPqPp(i=3M--R(jM*o--)): VPrP__LI~NE__Q jmp_bufPj;intPsMiMIMlMk[999]={1<<30}M*o=k; voidPa(intP_){i%2?YiMpP_%9?T(s|=1<<(_-I)):_-I-17?(putchar(s^32)MY*o)?q(l=s%256+3Ms=s/512+3Mi)?(*o-=l)>0?s=i=0Mq((o[2]=*o