#!/usr/bin/perl -w while(read STDIN,$_,2048){$a=29;$c=142;$b=73;@a=map{ord}split//;if($a[20]&48){$ h=5;$_=pack+B8,unpack+b8,chr($_^$a[--$h+84])for@b=@ARGV;$_=unpack+b24,join'',@b ;s/...$/1$&/;$d=unpack+V,pack+b25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f =($t=255)&($d>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q <<6))<<9,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110 ;$t^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271) )[$_]^(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print pack'C*',@a}