Its actually not terribly obfuscated - I just like the way the way it all works together. Kudos to whomever figures out how this works (both tricks).
BEGIN {
close STDERR;
if (@ARGV) {
for ( grep /entersub/,
split /^.*nextstate.*$/m,
join '',
grep /nextstate|entersub|padsv|gvsv/,
<STDIN> ) {
$_ = pack 'B*',
'00' . join '',
map { $_ eq 'padsv' ? 0 : 1 }
grep /\A(?:pad|gv)sv\Z/,
split;
tr//\n !&',-.01?ABCDEFGHIJMNOPQRSTUWXabcdefghijklmnopqrstu
+vwxyz/cd;
print;
}
exit;
}
else {
open STDOUT, "|$^X $0 1"
}
}
use O qw/Terse/;
exit;
sub a { print STDERR shift }
my $n = 0.02655029296875; my $o = 0.304718017578125;
my $p = 0.06268310546875; my $q = 0.290283203125125;
my $r = 0.76666259765625; my $s = 0.369384765625125;
my $t = 0.43771362304687; my $u = 0.186584472656251;
my $v = 0.82800292968752; my $w = 0.491210937512512;
my $x = 0.48483276367187; my $y = 0.817260742187512;
my $z = 0.59051513671875;
a($t+$w/$a+$m*$i-$v); a($m+$a*$j/$n/$n*$t); a($k*$q+$a+$o+$d/$c);
a($m+$y*$y+$t/$v/$z); a($f+$q-$c/$e/$w/$l); a($v/$y/$z/$z/$o-$g);
a($k+$q*$e+$x+$q-$n); a($a*$a+$s*$r/$c+$y); a($n-$x+$n-$o+$u*$g);
a($m/$y*$w+$w/$w*$r); a($b+$t+$r*$v/$s/$m); a($d-$p*$d/$b/$d-$z);
a($h/$e+$u+$b/$o-$v); a($l-$i+$s-$w/$f*$a); a($s-$y-$n/$v-$o*$a);
a($d*$k+$v-$s-$f*$l); a($d-$z/$v*$a+$d-$g); a($a+$n*$w*$l/$z-$q);
a($x/$o-$v/$w-$p*$l); a($w*$f/$s/$u/$b-$a); a($b+$y-$h*$g/$z/$b);
a($g*$z/$u+$p*$d*$i); a($i*$w+$e/$t/$y+$z); a($a/$a*$v/$i*$r+$j);
a($k*$y/$f+$n+$n-$u); a($d/$r+$v*$n/$m*$i); a($d*$l/$o/$f-$u+$u);
a($m/$u/$p-$n+$v-$p); a($m-$y-$i+$s-$f-$g); a($n+$n*$p-$s-$n*$b);
a($d/$u-$u-$s-$w*$n); a($b/$z+$s+$m-$h*$v); a($a-$v+$x/$n+$v/$v);
a($m-$y+$l*$q-$t*$o); a($l*$v/$d/$a/$w-$l); a($c*$i*$x*$p*$a/$w);
a($f/$f+$y*$x*$c-$b); a($u+$q*$s/$v-$o/$h); a($f+$m+$y+$q+$f+$f);
a($b+$q/$s+$c+$j/$g); a($i+$x+$q-$m*$n/$v); a($u+$y+$n*$p-$n+$e);
a($c-$j+$q-$b+$e+$r); a($f-$u*$y*$b/$j*$g); a($k*$v*$j/$h*$b-$x);
a($e*$v*$g+$t/$l/$h); a($f+$t*$o/$c+$t*$o); a($o/$s-$z*$r/$o-$l);
a($d*$u-$x*$y*$d/$z); a($g*$a+$q-$y*$t+$b); a($m/$r*$o/$i*$q+$q);
a($l-$z*$x-$r-$t/$y); a($e*$k+$v+$p-$j/$l); a($m+$p*$k*$p-$u/$s);
a($a*$p-$j-$d+$m+$v); a($b+$o/$d*$h/$w/$g); a($s*$t*$r*$s-$t+$p);
a($p-$n-$a-$h*$u-$y); a($a*$u*$r-$f/$w-$u); a($e/$o+$z*$a/$t/$w);
a($f/$b+$u/$q*$d/$c); a($e-$q+$s/$m+$j+$d); a($a/$y/$k-$i-$i*$o);
a($c-$h-$z+$g/$w*$d); a($g/$w+$x/$g*$p+$r); a($a*$q-$m/$a*$q-$g);
a($u+$o/$r*$w/$t+$a); a($i*$p*$m*$s+$y*$r); a($f+$g-$n*$q-$m-$t);
a($z-$r-$v+$x-$w*$e); a($b-$v+$s-$p*$s/$y); a($e*$t+$r/$q-$s/$f);
a($f/$y+$l*$i+$k-$w); a($b+$a*$v*$i+$y+$n); a($k*$b/$o*$r/$g+$j);
a($s+$n+$u*$v-$o+$c); a($i-$y*$j-$d*$g+$q); a($k+$r*$l/$h*$p*$g);
a($j+$p/$u-$l*$r-$q); a($p*$v-$n-$o+$t+$f); a($k+$q+$e/$g-$u*$y);
a($e/$t-$s+$o+$s-$p); a($a*$w+$d/$f+$x/$g); a($p*$p*$z+$e+$s-$q);
a($e+$k/$s*$z/$c+$u); a($v-$x*$v+$v/$x/$i); a($l+$w-$n/$f/$o*$e);
a($e/$n*$c*$p-$u-$s); a($a/$j/$u+$r*$k*$s); a($f*$b-$x-$z+$g*$a);
a($t+$y+$w-$o+$w+$a); a($h/$v+$e+$n-$y-$x); a($j/$o/$l/$m-$y*$c);
a($y/$p/$w*$u-$o+$l); a($g-$e/$n/$p/$m*$i); a($g+$w*$s-$b/$g+$j);
a($e/$o/$n/$i-$r-$y); a($x+$r-$w/$v/$q+$g); a($j*$w-$l+$z*$h*$l);
a($h-$p+$e*$z*$x*$z); a($c*$n*$t-$b+$c*$s); a($k+$r-$u-$j+$b+$j);
a($d*$b+$t*$q*$h+$j); a($c/$o/$g-$h+$w*$g); a($e/$u+$l/$s/$q-$x);
a($c*$y*$i/$g*$p-$l); a($a-$v+$n-$h-$f+$n); a($n-$s/$w*$s+$y-$m);
a($c*$s-$v-$t/$m-$s); a($h*$q/$a+$s*$g-$k); a($f-$v/$i/$e-$d/$n);
a($m-$m*$o+$a/$y+$r); a($h/$t-$n-$r/$f-$l); a($g/$g-$n+$n/$g*$u);
a($y/$y*$u/$q+$z+$v); a($v-$e*$m*$m/$u*$p); a($a+$z-$s-$b/$h*$k);
a($a-$y-$y-$b-$z/$o); a($p+$t-$x/$x/$u-$j); a($u/$f*$d-$w+$p/$r);
a($j-$t+$e/$j-$m-$o); a($m-$w+$b/$b+$g*$l); a($e-$s+$o*$g*$o+$u);
a($t*$r-$p*$u/$s-$e); a($d*$w-$a+$u+$z/$y); a($h+$f+$s-$w/$l-$s);
a($x-$w/$r/$y-$q/$g); a($g+$r/$z+$u*$u-$s); a($a+$o*$w-$t*$t/$e);
a($j+$o+$g-$k+$a-$p); a($e/$m/$n+$i-$o/$x); a($d/$j+$x*$r-$b/$h);
a($q*$t/$x+$w/$x*$i); a($j/$t/$s+$r*$u*$t); a($l-$z/$r-$p-$q/$g);
a($k/$s/$b/$m/$c+$v); a($f-$h+$p-$v/$u+$k); a($j/$c*$w/$q+$h+$a);
a($j/$y*$h*$o-$u/$o); a($i*$q*$e+$h/$c/$p); a($c+$y*$m+$c-$p/$d);
a($z+$y+$n*$p+$y/$f); a($v*$q/$q/$w-$h*$h); a($z/$q+$w-$t+$r/$a);
a($f*$e*$r/$u/$c+$a); a($a-$w*$z*$i+$d*$g); a($l*$v*$n*$e+$s+$w);
a($r/$z*$y/$w-$s*$c); a($c-$m*$r/$z*$g/$w); a($k/$v-$k+$c/$i/$b);
a($l+$r/$f-$r*$u*$o); a($i-$h+$x*$r/$y+$c); a($c*$t/$g*$z/$n*$r);
a($m-$c-$v/$s*$c*$b); a($e+$b/$u-$u+$b-$v); a($t*$z*$p*$x-$v/$i);
a($d/$x/$b/$c+$i+$u); a($c*$w-$u*$i*$p-$c); a($n*$q+$r/$y*$y*$f);
a($b+$h/$z/$z*$c-$m); a($i/$n*$z*$l+$f*$d); a($j-$x-$o/$l-$s+$v);
a($t+$q-$n*$t/$n-$i); a($e+$q/$x+$q-$k*$c); a($h+$o/$s+$l*$t/$n);
a($e-$w*$v/$u+$u/$v); a($h+$q/$t*$u*$c+$i); a($u*$p*$x/$a*$c*$m);
a($p/$s+$u/$k*$d+$g); a($x/$v*$o-$k+$d*$b); a($u/$t*$z+$w-$r*$t);
a($r-$b*$k-$f-$p-$q); a($c*$u/$p-$b*$n+$p); a($h-$o-$h*$x-$j-$f);
a($m-$o+$y*$b-$s-$z); a($b/$f/$x-$d/$v/$b); a($i-$t/$l*$t/$o/$n);
a($e*$f/$n-$x*$g+$y); a($h/$x*$l+$n/$s-$o); a($a*$r+$d*$g-$g/$t);
a($k-$z/$f*$k/$w+$l); a($t-$p/$s-$n*$x/$k); a($l*$o-$i+$w+$p*$q);
a($a-$d*$x*$o-$g+$s); a($z+$p+$s+$n*$n/$m); a($k*$o*$n+$q+$s*$s);
a($h*$u/$o-$x+$z+$b); a($k/$y/$c+$j/$j/$y); a($i*$g/$x+$j*$o/$w);
a($c/$i*$p/$p/$l*$l); a($u+$v+$z*$x*$p/$h); a($g*$v*$a*$m-$c/$i);
a($f*$r-$o*$c+$o+$q); a($e/$s-$e-$b*$c/$w); a($b/$v/$b-$j-$m-$m);
a($g/$v*$h-$p/$e/$i); a($c+$y*$z-$k*$s*$n); a($y*$r+$y-$n+$z/$g);
a($f/$j-$n/$p*$f+$n); a($k+$u*$e+$r-$q+$z); a($e+$k/$x-$r/$d*$g);
a($j-$l+$x*$w/$k-$b); a($j+$u*$d*$u-$x+$r); a($f+$r*$e-$d-$t-$c);
a($c/$w/$x-$a*$d+$o); a($q/$w*$s-$t+$p-$j); a($i+$w-$b+$w+$v-$y);
a($e/$y*$h*$c-$o/$h); a($n+$w+$u/$v-$v+$a); a($g/$j-$w+$n-$b+$e);
a($a+$r-$v+$l+$f*$f); a($h/$x+$y*$f*$t/$y); a($l/$q+$j+$z-$t+$z);
a($l*$h-$y*$t-$t/$m); a($t+$p/$p*$v/$y*$g); a($l*$w*$e-$y/$d*$i);
a($b*$r-$d/$z/$r-$r); a($f+$d+$x*$j*$o+$k); a($a-$r*$i*$t+$p+$x);
a($m*$w-$f+$d+$z*$m); a($e+$z/$t*$b/$l*$t); a($t/$n*$v-$q+$r*$k);
a($c*$i+$r+$u*$y/$e); a($c/$s/$e-$a-$b+$v); a($m-$r-$h*$k-$j+$t);
a($l/$w+$c-$k*$s*$u); a($v/$t-$v*$w-$q*$m); a($m+$n-$c-$v-$c+$f);
a($b/$z-$j*$g*$b*$n); a($h+$u+$b-$g-$d+$p); a($d-$q-$m+$u-$a/$p);
a($g+$s*$l/$n/$y-$u); a($m/$s*$f*$e/$r*$j); a($g*$r*$o+$c+$m/$x);
a($x+$t*$w*$u*$q*$d); a($k*$t-$z+$y*$y+$u); a($g/$l/$x/$r-$h*$f);
a($n-$o/$p-$n-$t+$t); a($u-$t+$s/$n/$o*$j); a($o-$v-$p-$w+$x/$a);
a($a-$b*$u-$x+$m*$c); a($d*$q+$p-$m*$g/$a); a($j-$z-$v*$c+$y*$v);
a($f/$y-$f+$q*$y-$o); a($i/$c*$s-$y/$u+$l); a($v/$n-$n-$n*$o-$j);
a($c/$l+$n-$u+$c*$f); a($m*$w/$v+$d/$a+$b); a($d/$y-$a*$s/$u-$q);
a($k-$q*$l-$k-$p*$c); a($f+$w*$p*$k+$m+$s); a($f*$l/$q/$r+$l*$r);
a($w+$w*$s-$p/$x/$n); a($o+$u+$b/$o-$a+$b); a($f/$o/$h*$l/$x*$w);
a($e/$v-$q*$j+$s-$u); a($j/$g-$t-$n*$p-$j); a($m*$p/$l*$x*$v+$s);
a($d+$p+$z-$p*$k+$x); a($a*$s*$n-$t-$x/$n); a($w-$y-$r*$p/$t+$f);
a($e+$r-$g-$v*$o*$o); a($i*$c/$w+$o-$j+$v); a($s*$p/$u+$w-$x*$l);
a($j+$u+$w/$u*$v-$s); a($i*$y/$p/$x*$n+$j); a($e+$o/$k+$e+$j*$v);
a($f/$c+$v/$l*$v-$v); a($d*$d-$o+$n*$i*$f); a($n/$s*$n/$u-$t/$e);
a($j+$r-$y*$s+$x/$c); a($j/$w+$p/$m*$v+$s); a($g/$q/$c-$x*$t*$s);
a($g/$q+$f/$j*$v/$i); a($j+$v*$v*$l+$f+$u); a($u+$v+$q/$y+$s*$a);
a($l*$o+$w*$t*$s+$t); a($q/$s+$u*$v+$u/$a); a($c/$y*$s-$x*$r+$g);
a($d+$x*$e/$s+$s/$u); a($l+$n*$n*$e+$a-$q); a($o/$v*$w-$r*$n-$m);
a($v*$p*$e*$d+$r*$e); a($l+$s-$j-$c+$a+$y); a($e+$f-$t+$k-$q*$o);
a($l/$y+$i/$b/$t-$j); a($b*$a/$y+$o-$c+$f); a($e/$j-$q-$s/$w*$m);
a($k+$e-$l/$z*$p+$n); a($s+$q+$z*$r+$u-$d); a($h/$q*$t-$c-$r+$k);
a($d-$h*$q/$l*$r+$w); a($f+$s-$d+$w/$k/$i); a($j+$w*$d/$q/$h+$e);
a($r-$u/$n/$n*$y/$j); a($c/$w-$a-$e-$m-$y); a($h*$t+$x-$g/$q-$f);
a($q+$s/$n-$v*$o/$d); a($r+$z/$g+$d-$q+$l); a($h+$o-$i/$l-$m/$s);
a($i*$d*$n/$b+$l/$n); a($e*$z+$r*$r*$q+$g); a($e+$z-$i+$l-$l+$v);
a($i+$h*$j*$x/$w/$t); a($j-$b+$v+$z/$j+$z); a($t+$y/$u+$q*$x*$a);
a($q-$j-$t-$v*$d+$f); a($h*$o*$j*$g/$z/$i); a($h*$r+$w-$p-$h*$i);
a($m/$t+$l+$q+$t+$n); a($a*$w/$w+$u+$s+$r); a($f*$o-$l*$h*$q/$l);
a($a+$c+$p/$y+$m*$w); a($n+$p/$v/$o/$t-$b); a($y*$j/$q*$a*$q-$n);
a($l-$s-$u-$k-$s-$o); a($d+$h-$t+$m-$l-$r); a($l+$j/$q+$y+$h*$r);
a($r/$o-$u/$u/$n-$q); a($r*$o+$x+$r+$y*$f); a($p-$q/$s+$w+$p+$m);
a($p-$j-$q/$b-$m/$w); a($h/$u-$s+$b+$x*$t); a($d/$r*$v-$d*$h+$y);
a($a*$f/$v-$z+$q/$e); a($l-$s*$j*$e+$j*$r); a($d/$z-$w+$e*$z-$z);
a($e-$k+$q+$o+$i/$v); a($r*$w*$p*$n*$p+$e); a($y/$u/$y-$u*$l-$i);
a($r/$o+$o*$q/$t*$l); a($z+$u*$f+$r*$c*$e); a($a-$z/$l+$h-$v/$v);
a($f-$q-$o/$a-$s-$t); a($c+$k/$q-$u*$u-$l); a($l*$s*$m-$q/$s*$z);
a($i-$y-$v/$v/$g/$x); a($e/$q-$s+$y/$w-$y); a($k+$u-$b+$d*$x*$e);
a($h/$a*$u-$p*$j-$t); a($w/$p-$x*$x-$s/$x); a($w*$m-$y/$f*$e-$d);
a($m/$l*$s+$n-$p*$c); a($g+$x-$c+$o-$u*$o); a($j*$u+$p/$i*$y*$x);
a($k-$u/$d*$b/$o/$g); a($l/$m-$r*$z+$i+$c); a($j*$t/$s*$n+$t-$t);
a($b*$o-$m*$n-$c-$b); a($c/$m+$z+$u*$i-$x); a($t/$u*$w-$t-$t/$g);
a($o-$q+$f/$d-$u*$h); a($k+$u-$r+$f+$m/$j); a($j+$y+$a/$r/$r/$y);
a($j*$o/$z-$o+$m*$y); a($h/$y-$x/$u+$u+$x); a($c/$u*$f-$d+$v*$e);
a($l/$p/$k-$k/$h-$u); a($k-$k-$t+$r*$i/$z); a($p*$x+$w+$r+$v/$d);
a($x/$f+$w/$t+$o*$s); a($l*$t/$w+$w+$n*$z); a($c-$z*$x+$t-$a/$t);
a($a/$f*$r-$x-$j+$i); a($f/$p-$e*$j-$d*$o); a($c/$h/$v/$r/$x/$j);
a($l*$o+$f/$r*$x+$w); a($e*$x-$x-$a*$w*$o); a($i*$a/$s-$z-$e*$w);
a($s-$z-$w-$o/$n/$f); a($e+$b-$s-$r-$f-$v); a($a*$n-$j-$r/$l+$y);
a($c+$m+$b/$u-$p-$t); a($m/$a/$v/$x*$b+$u); a($c/$n*$o*$q*$d+$o);
a($k/$j/$z*$y-$x-$k); a($j-$v+$q/$y/$p+$w); a($m*$r+$i+$b/$b/$d);
a($e-$y/$p/$b+$y*$u); a($d/$h+$t*$u+$q-$e); a($g+$m*$x*$w+$c-$x);
a($s+$z*$v/$w*$y*$m); a($n+$b*$q*$i*$g-$q); a($i*$u+$k*$y/$y*$o);
a($k/$s+$v*$z-$n*$t); a($m-$p*$z*$g-$e*$q); a($i-$v-$u+$y/$s/$z);
a($l/$j*$n+$z*$w+$d); a($f-$u*$o*$o-$s+$o); a($r-$r-$o-$v-$z/$l);
a($s/$b-$o/$w*$p+$w); a($f-$u*$y+$q-$w-$v); a($a+$n+$k+$o/$d-$d);
a($l/$s-$e*$u-$g+$l); a($h-$l/$o+$y/$g/$y); a($q*$p+$r/$r/$n/$e);
a($o+$a/$e*$u/$i+$i); a($j/$k*$w/$s/$a*$i); a($h-$t*$v/$l*$w+$z);
a($g-$z/$q*$g/$y-$y); a($d*$x/$f*$p+$a*$l); a($v*$v-$s/$u/$t+$d);
a($y-$l*$z/$e/$x/$m); a($c-$u-$h*$t/$x*$x); a($d-$o-$i-$o*$l*$e);
a($g-$z*$a/$s*$m/$f); a($g/$i-$q+$w*$h*$t); a($w+$v*$z/$x-$y/$o);
a($w/$q*$y/$o+$p+$a); a($y/$p/$s+$y/$v+$d); a($f+$b/$r+$s-$w-$a);
a($a*$u/$x+$p*$t/$x); a($c*$x+$u/$t*$b+$k); a($h-$s+$h+$s-$p-$x);
a($j*$n*$c-$b+$f/$z); a($e*$g/$z*$n*$i/$v); a($q*$u+$o*$t-$t+$m);
a($j+$x-$v*$e+$h+$m); a($k-$o+$h*$j/$e+$o); a($m*$x/$k/$c+$z/$q);
a($l*$n*$u+$c-$r/$p); a($m*$w*$i*$o/$m-$j); a($h+$q-$x/$j*$x+$t);
a($d*$d*$v+$s+$h-$q); a($m/$d*$u+$n/$i/$p); a($x/$v+$w+$v/$u+$i);
a($u/$z+$c+$l+$o/$i); a($d-$y/$m/$l*$l+$w); a($i*$o*$m/$e+$r/$f);
a($i*$k-$o*$n+$l/$u); a($c*$n+$r+$f/$z/$p); a($a*$m+$n/$w*$y+$l);
a($e-$m/$o-$h/$s-$l); a($l-$r/$o+$u/$r-$p); a($k*$c/$v+$q/$c-$c);
a($m*$r+$c*$r/$y/$x); a($e*$d-$x/$c-$p*$b); a($d+$q+$t-$d*$q-$w);
a($h+$i*$z/$v+$b/$p); a($o-$r*$z*$f-$x/$j); a($o-$s/$z-$u/$x*$c);
a($k/$z/$r/$v*$k*$h); a($c+$u/$l/$f+$b*$x); a($g+$z/$i-$k/$o+$d);
a($u*$y-$n*$j/$z/$u); a($l/$i*$u/$v/$d/$e); a($p+$r*$w+$z+$p*$h);
a($k/$p*$s-$h*$v-$h); a($f+$q+$h*$m*$m/$p); a($b/$a+$q-$x*$p-$l);
a($k/$r+$p+$d+$e+$r); a($f*$t/$x+$l*$z*$s); a($k/$f/$r*$q-$e*$g);
a($x-$t-$w+$y*$y+$z); a($r-$b/$h/$o/$l*$y); a($j/$d/$t-$c+$u-$t);
a($j/$g-$u+$x*$e/$z); a($c*$e-$x-$q+$c+$v); a($h/$r*$h+$y*$v+$w);
a($k*$r+$t-$s*$z-$w); a($s/$w*$r*$p-$w*$f); a($b+$t*$d/$s-$w+$w);
a($m*$a/$w+$o-$c*$z); a($n-$n/$u*$p/$t*$h); a($b*$y*$q/$o+$q/$s);
a($e+$p+$y-$q-$v*$d); a($e/$u*$l+$a/$d+$n); a($h/$i-$s*$d/$o-$o);
a($j+$m-$n-$u-$h+$e); a($n*$p-$p*$r+$o-$g); a($z-$s/$k/$g-$p-$e);
a($h/$h*$b-$r+$z-$m); a($a+$r/$o*$q-$u*$s); a($a*$i-$o-$y*$u/$b);
a($h*$h-$s+$w*$i/$w); a($w/$u*$p+$v-$p+$i); a($s+$l-$l*$x-$c/$j);
a($a*$f+$t+$z/$a+$e); a($a*$t+$p-$y*$o*$p); a($j+$u*$b/$s*$e-$b);
a($j-$x-$h+$x/$y/$s); a($m-$p/$h*$m+$z-$a); a($o/$u*$p*$s*$z/$l);
a($y/$f/$j/$u+$v*$p); a($j*$x/$e*$f-$a*$r); a($l-$p*$v/$j*$x*$v);
a($h+$j/$x/$w-$b-$j); a($j+$b+$o/$n-$w+$j); a($m+$j/$m-$s*$v+$s);
a($p*$n-$z/$q-$x*$g); a($o*$b/$i+$q+$d*$h); a($d*$w-$p+$h/$n*$o);
a($j+$w/$x*$q*$e+$z); a($g+$a*$p/$q+$s/$k); a($h-$t*$v+$g/$t/$x);
a($k*$c*$q/$r/$g*$a); a($r-$u+$v/$r*$v*$d); a($x+$a-$f+$r/$z/$x);
a($m*$s/$e/$c-$g/$n); a($e-$o/$m-$x/$m*$e); a($a*$o*$i+$s*$v+$w);
a($h-$n+$p/$s/$c/$n); a($h/$q+$o+$f/$o*$w); a($t-$s-$w+$y-$u*$g);
a($u+$t*$b/$c/$x/$c); a($i*$y-$m/$e*$l+$q); a($l+$y/$m/$m-$n+$o);
a($c*$n/$h-$i-$o/$n); a($k+$k*$x+$g*$v*$y); a($a*$u+$e*$l/$y-$g);
a($h*$u-$d*$o+$y-$n); a($c+$g-$o+$x/$j*$y); a($c/$q*$j*$g+$v-$w);
a($p/$v*$t-$z-$s/$t); a($t-$n+$z/$q+$q*$b); a($r-$o*$q-$z+$p*$e);
a($m+$y/$p/$o*$w+$g); a($k+$u-$t+$u-$p-$o); a($k-$h*$r*$s*$r*$h);
a($g-$v-$y-$j/$z+$p); a($j-$w+$w-$k/$y-$e); a($a+$s-$a-$d*$g-$s);
a($c*$y+$g*$f*$l/$y); a($j+$c*$o/$n-$b/$h); a($n-$y*$s/$q+$p*$l);
a($i/$n/$h-$z/$p*$n); a($a*$n*$c-$b/$w-$h); a($v-$s/$s*$v*$v-$l);
a($a-$b+$y*$w+$l/$b); a($m/$x+$n+$a+$f+$d); a($b*$r*$z/$a-$q+$n);
a($q+$q+$r-$v-$t/$k); a($h+$f+$t+$q-$j/$o); a($j/$w-$c/$k+$y/$d);
a($f+$u*$j/$c*$h+$p); a($d/$e-$u*$d-$i/$z); a($r/$u*$x*$o-$w-$s);
a($z+$n/$m-$m*$o/$w); a($e+$l-$v+$b*$t+$x); a($m+$m+$x+$w+$g*$i);
a($z+$u*$q-$x+$q-$k); a($c-$k/$u-$y/$a/$k); a($c*$s/$z/$c-$h*$e);
a($l*$y/$u+$x*$v*$v); a($m-$i/$n+$z-$i*$f); a($x+$q/$y/$a-$s*$w);
a($h+$f-$n/$r*$e*$q); a($z+$s/$w-$r-$s/$b); a($c-$x-$j+$l-$y-$j);
a($d/$u+$j+$h*$f+$p); a($m+$j+$y-$n*$d-$h); a($r*$o*$n/$v-$z+$i);
a($a/$i*$u-$r+$q-$d); a($h/$t-$z+$d-$q+$x); a($j+$t+$s/$s-$w*$q);
a($e*$v+$l-$y/$k+$f); a($b*$x+$c-$p-$l*$l); a($i-$a+$f*$v+$z/$r);
a($r*$n/$q*$u*$z+$j); a($t*$g*$i+$u-$g*$t); a($j-$b-$z-$e/$n*$t);
a($g*$h*$x+$s/$l/$w); a($g/$c-$z-$s*$d/$z); a($j-$n*$c+$u+$o-$t);
a($f+$r/$n+$r-$t*$s); a($x+$w/$o+$z/$y-$j); a($k/$x-$a+$t+$z/$t);
a($a+$k/$x-$q+$m-$m); a($y-$z+$r/$i-$v*$y); a($g-$i*$y/$u/$c/$t);
a($v/$w/$s+$s*$w-$f); a($c/$r+$s/$x*$w+$u); a($q-$x*$p*$y+$t+$e);
a($g/$p/$s/$y*$d/$y); a($h/$o+$b/$i*$g+$s); a($f/$o*$c+$e+$v-$a);
a($h/$s/$z-$x/$b+$x); a($k+$x/$r-$k-$w*$s); a($c+$y/$j*$k+$l/$j);
a($j*$b*$w+$w*$l*$g); a($z*$x-$n/$q-$y/$r); a($w-$r-$g/$t+$g+$e);
a($r+$p+$z*$z-$u-$a); a($c+$p+$w-$w*$a/$z); a($i-$t+$j/$b+$e*$w);
a($m-$u+$j/$b*$z+$j); a($c/$u-$y+$s+$e+$x); a($m/$t-$y-$h+$x*$y);
a($m/$t*$d*$i-$j*$l); a($c-$g/$u*$w-$f/$g); a($p/$r-$y+$t+$s+$a);
a($m*$u/$e/$s+$s*$q); a($a/$b+$y/$u*$j*$y); a($t-$o-$u-$s*$u-$c);
a($d*$p/$s-$u*$p+$v); a($e-$v*$w+$r/$z*$m); a($d+$p+$e+$c*$e*$o);
a($g*$l+$z+$i+$r*$n); a($b-$b-$y*$v-$j-$a); a($q/$t+$y*$z+$o/$m);
a($f-$u+$v+$h-$h*$f); a($l*$r-$i*$g/$i-$s); a($j*$i+$w/$l+$c-$u);
a($w/$p/$r/$p+$s-$j); a($i*$m/$o/$v-$c/$k); a($f-$y/$l-$g/$l/$p);
a($p-$r/$s*$q/$n+$a); a($i+$x*$i*$p-$c+$j); a($d/$y*$j/$c/$e-$y);
a($f-$v/$a-$k-$k/$r); a($h/$w+$m-$q+$i/$y); a($y+$w-$q/$o+$z+$a);
a($b-$x+$o*$w-$r-$z); a($d*$j/$v-$s-$l/$i); a($s*$v/$z/$o*$y*$b);
a($m-$l*$q+$w/$j/$d); a($d-$u*$o-$m-$a*$e); a($k*$s/$o-$l*$s*$o);
a($q/$v*$y*$q+$u+$m); a($d*$u-$y-$f/$z-$z); a($k+$r+$s*$n*$v+$u);
a($l/$k/$s/$y+$o-$i); a($e/$c-$s*$t*$c/$l); a($h/$r-$q-$k-$d/$a);
a($z-$v+$v*$n-$x+$m); a($c*$p*$t-$i-$y-$c); a($h*$m/$y+$v-$w+$e);
a($a*$o*$a*$a+$i*$u); a($d/$q/$e-$f*$v+$p); a($v-$o/$z*$p*$z/$l);
a($h+$g+$u/$s*$d+$k); a($j/$n*$t-$g*$g-$a); a($i-$y/$z-$f-$r/$n);
a($z+$p+$x*$r-$u*$d); a($g-$x+$i/$g*$w*$p); a($h*$z+$b+$l*$k-$n);
a($j-$x/$a*$e-$a/$r); a($d*$r-$a-$a+$r*$h); a($w-$q/$v*$o*$q/$p);
a($d*$j/$p/$l*$g+$z); a($f/$w/$k*$n-$s+$r); a($c-$f*$n+$x/$k+$a);
a($f*$s*$r+$d/$a+$c); a($b*$s/$m+$f/$d*$u); a($l*$m+$u/$j*$n-$r);
a($d*$i*$n+$n-$l-$e); a($p/$o/$u-$u/$u*$b); a($d/$x-$n-$l*$u/$n);
a($c*$h/$s+$d-$v-$b); a($k-$y/$w*$j/$q/$p); a($h/$k+$r-$v+$r*$l);
a($p+$z+$v-$z+$r-$h); a($b-$w*$y/$d/$d*$u); a($e/$z*$x/$m+$s+$o);
a($e/$g-$o/$z-$d-$e); a($g*$l*$x-$y+$d+$m); a($m*$u+$k*$u*$v+$w);
a($m-$x/$l*$j+$y*$k); a($c/$z*$v+$e/$i/$n); a($u+$q*$n*$r+$r-$j);
a($b-$c/$n-$z+$l/$c); a($b-$s*$u*$c-$c/$g); a($l+$x+$x+$h*$z+$z);
a($d/$h*$q/$r+$r+$j); a($m+$n+$o*$g/$n/$y); a($p/$p/$v*$k/$a*$a);
a($u-$z/$s/$r-$t*$j); a($p*$x-$q/$q/$q+$l); a($x+$b/$k*$j-$o+$w);
a($j/$p*$v*$g*$e*$f); a($h+$t+$o-$c*$v-$p); a($q+$p*$p/$o/$n+$j);
a($h/$q/$a/$d-$s+$u); a($f*$u-$m-$a-$f+$p); a($l*$n*$f*$f*$i-$p);
a($b*$u*$f+$j*$o-$g); a($w+$x+$n*$z-$w-$a); a($i+$r*$e+$s/$v/$s);
a($l+$m-$r/$r-$d-$t); a($x*$v+$t*$q/$r/$e); a($c/$s+$v+$s+$v+$v);
a($c+$q+$t*$u-$o+$c); a($e-$v/$b-$d*$c*$u); a($f*$i+$r+$f*$n+$x);
a($m/$a/$o-$s+$j-$a); a($u/$z-$v-$q/$o+$d); a($f+$x-$j-$w-$b+$k);
a($b+$n*$b+$f/$h*$r); a($b*$a+$o+$h-$t/$a); a($a*$y+$z*$b-$p-$x);
a($p/$q*$o-$s/$r-$h); a($p*$w/$o+$v*$l*$i); a($y-$q-$p*$o+$u/$f);
a($p*$l/$j+$j+$f+$o); a($l/$r+$p/$i-$y*$z); a($l/$a-$n*$z-$v/$h);
a($f/$t/$r-$e/$w*$p); a($k*$e*$y-$m/$m+$z); a($c/$o*$k-$h+$m/$z);
a($e+$u/$d-$v+$c/$f); a($h*$c-$r*$f*$o-$h); a($f/$z/$t-$e/$p*$v);
a($m*$e/$p+$t-$c-$n); a($o/$v-$q+$b/$v/$l); a($z-$u/$v+$u*$o+$t);
a($x+$y-$s-$x+$s+$l); a($q/$s*$z+$s*$u/$d); a($f+$t+$t-$q+$q*$u);
a($m*$s*$g*$w/$a*$j); a($h-$d*$r*$r+$j/$z); a($a/$x/$f*$e-$j-$o);
a($t*$v/$t+$q+$u-$b); a($y*$b/$g+$t-$q*$o); a($k-$q/$c*$c/$e+$v);
a($d*$n-$o/$c+$v*$u); a($q*$o+$q+$p-$z-$s); a($w+$j+$l-$s*$q*$s);
a($m+$y/$i+$d/$j+$z); a($b-$u/$t+$g+$q*$r); a($o/$u+$q/$q*$r+$f);
a($g+$z*$e/$u/$o+$o); a($b-$i/$z+$p+$a-$z); a($s/$p*$s*$n*$p*$d);
a($l*$z+$y-$p*$w/$q); a($d/$n*$x-$t*$n-$m); a($i/$r*$a-$i+$j+$r);
a($a-$h+$p-$c*$t+$z); a($g*$b+$s+$s/$g-$a); a($t-$x+$t*$y*$x/$j);
a($g+$t/$a*$z+$g/$a); a($l-$o-$d/$g+$h/$s); a($h/$q-$a-$f-$m*$t);
a($d/$z+$a+$v-$e*$t); a($f*$r-$d/$o+$z-$v); a($g+$y+$l/$m*$o-$g);
a($m-$z+$t+$l+$g+$r); a($n-$u/$x*$p/$q/$a); a($g+$r*$s*$w-$p*$q);
a($c/$a/$y+$z/$j+$e); a($z+$t*$q-$p-$u+$f); a($b-$g+$t*$y*$l-$g);
a($e+$s-$n*$m+$j-$f); a($c+$t*$n-$l-$p+$x); a($w-$y/$r*$w/$v*$k);
a($a*$n*$f-$i-$n/$w); a($e*$u/$i-$k-$b+$x); a($j*$t/$d-$b+$c*$o);
a($k*$z-$a/$k-$o*$e); a($n+$p-$w+$r-$p*$h); a($g*$v/$o+$l/$x/$d);
a($m+$i-$q*$w/$t+$g); a($l/$p/$b/$k+$m/$v); a($j+$t+$f-$f-$p-$w);
a($v+$n/$u*$o+$w+$i); a($m/$b/$w/$p/$d+$l); a($b/$n-$x/$c-$a*$m);
a($m-$z/$x/$f+$o*$y); a($s+$w-$x-$t+$n*$d); a($h+$e+$o*$r+$f*$w);
a($j+$g/$w-$g+$w/$x); a($e/$r-$m-$a+$y+$e); a($s*$w+$p+$q+$w-$p);
a($d-$s*$d-$f+$j+$r); a($b+$g-$p/$p/$y*$l); a($x*$z-$t+$q+$u-$j);
a($f*$y+$t-$e-$t-$v); a($h*$t-$f/$x*$j+$e); a($k+$l+$y*$t*$b/$p);
a($g/$y/$v/$l*$p*$t); a($y+$s/$u+$t*$u*$d); a($c+$f-$y*$t+$e/$m);
a($b*$t-$p*$m*$e/$m); a($a*$w+$w-$b-$w-$z); a($u+$o*$r*$n/$r/$e);
a($g+$o+$n*$k/$k+$r); a($f-$a+$y/$t+$o+$j); a($f+$t/$x-$y/$q*$s);
a($g-$j+$v*$c*$s*$g); a($d-$u-$p/$e/$q+$w); a($h-$j*$e/$s-$o/$r);
a($j-$r-$v+$q/$w-$z); a($a/$b+$t+$n/$s*$k); a($l/$u-$s*$u/$b*$c);
a($t-$t-$x+$t/$q+$w); a($x/$u*$b/$a+$f-$b); a($f-$b+$v+$d-$n-$k);
a($m+$w/$n+$k-$z-$t); a($l/$l-$u+$t/$x/$e); a($i/$e-$h+$z-$t-$p);
a($i-$a/$r+$v+$a*$c); a($m/$z/$s/$c+$i-$h); a($j*$y/$h/$w/$q+$t);
a($h-$v+$e*$m+$w*$m); a($d/$x/$v*$j*$g*$p); a($p-$o*$y*$q-$y-$j);
a($a/$v/$k*$y/$o/$r); a($c/$k/$r*$q/$h*$v); a($q-$v+$z*$n-$u*$f);
a($l/$u+$q*$y*$p*$o); a($i+$y*$x+$y+$y+$b); a($l-$z+$d-$i-$h*$n);
a($i*$g-$z-$b/$r+$q); a($i+$c*$o/$u/$j-$f); a($x/$v+$s*$q-$s+$h);
a($k+$f*$x/$q-$d/$y); a($c-$n/$a-$b-$i/$n); a($l-$u+$h+$k+$v/$o);
a($f*$n+$p-$g*$u-$n); a($l*$m-$q*$n+$c+$g); a($i+$p+$p/$i/$f/$f);
a($a+$t/$m-$o/$x/$t); a($j*$o*$i/$g+$n*$m); a($g/$n*$q-$l/$b-$p);
a($x*$p+$t/$u-$z-$e); a($j+$u/$j*$r-$q+$w); a($k/$x-$n+$e-$y+$b);
a($v/$y+$t+$z/$p-$a); a($c+$g*$h-$s+$u+$x); a($c-$t/$e*$i*$c-$r);
a($g/$f/$v-$g/$w*$n); a($s/$n*$x/$c/$t-$t); a($b-$k+$t-$v+$u/$e);
a($j-$u/$x/$m-$n*$q); a($n+$u/$y-$z/$w*$i); a($d+$v*$u/$o/$p*$t);
a($x+$r/$y-$o/$w/$l); a($e+$k*$z+$v+$a*$j); a($b-$w-$u*$f/$i/$a);
a($i-$z/$g-$x+$p/$n); a($m-$z-$m/$m-$q/$g); a($q-$q/$o+$s-$r/$g);
a($a+$p*$m+$a-$r/$n); a($a-$u+$j-$g-$l+$n); a($d+$c/$q/$a/$s/$a);
a($d/$t+$m/$o-$n-$y); a($h-$r*$x*$j+$s*$x); a($z-$y*$u/$o-$y*$k);
a($d*$u+$d+$a/$b-$c); a($h+$k+$y-$w/$q/$b); a($h/$p*$f+$g*$h/$q);
a($l*$z+$x/$y/$f*$j); a($h+$i*$y/$m+$q-$p); a($j/$x+$v*$n+$c+$y);
a($h*$x/$z/$k*$x+$z); a($i-$k-$t*$q-$t/$g); a($r*$n+$z-$p+$v+$z);
a($z+$o+$p*$y-$z+$f); a($u-$r/$z+$o*$w-$j); a($i*$o*$r*$v*$a/$s);
a($d-$x-$p-$i*$g+$l); a($d*$u+$n/$p/$r/$v); a($c/$t-$m+$w-$v+$x);
a($c-$w-$a/$l/$w*$m); a($r-$q-$z+$e*$j-$z); a($e+$a/$y+$y*$k/$w);
a($b/$p*$b/$d+$o/$s); a($d/$w*$e*$e-$a*$v); a($d*$p-$j-$q-$e-$u);
a($f/$v-$m+$v*$q+$r); a($k+$t/$b+$m+$p-$d); a($k*$n-$x*$l/$d+$p);
a($w-$y*$v-$v+$w-$h); a($m+$r/$l*$e+$s-$x); a($m+$d*$y+$f-$p-$w);
a($j/$n+$x*$a+$i/$v); a($c/$q-$t/$g/$a-$y); a($b-$v/$l-$x-$d+$l);
a($d*$o-$v/$l-$x-$s); a($k-$c+$w+$x*$d*$n); a($x-$r/$z-$t/$s-$m);
a($w-$n*$p/$z*$z+$z); a($s-$c*$j*$f-$s-$z); a($l/$z+$s*$d-$l+$j);
a($m/$p-$q-$b*$t+$y); a($u/$u*$u*$u+$x+$d); a($g+$c+$x*$j-$d-$w);
a($d/$y-$d/$i-$i+$x); a($d/$d*$w/$n/$s-$h); a($k*$w+$m-$s/$b+$g);
a($a-$w+$t*$y-$m*$m); a($v-$p*$z+$u+$v-$j); a($d*$p/$k/$t/$z*$w);
a($a*$d+$n-$v*$d-$v); a($z-$r-$u*$s+$y/$c); a($i/$p*$x*$q+$s/$x);
a($l-$w/$y*$o+$w-$f); a($i/$w*$l+$k*$d-$s); a($g+$h-$v-$m*$r*$y);
a($m+$k/$p+$q-$f+$m); a($u/$x+$w-$x/$x/$l); a($d/$p*$d-$d*$j-$x);
a($m-$b-$y-$g-$v-$l); a($g-$x-$t/$i/$x*$t); a($e/$m/$o/$z+$s/$i);
a($i/$w*$h+$m/$a*$i); a($i-$o+$e/$e*$h-$p); a($i/$x*$m+$f*$a*$g);
a($l-$j+$v*$b*$w-$s); a($e-$v-$j-$r/$c*$e); a($g+$o*$o*$q*$y+$o);
a($e-$l*$q/$p*$d-$h); a($e/$q/$m+$v/$w-$t); a($i-$n+$g-$d-$h/$p);
a($h/$n*$c+$k/$z-$f); a($s*$q*$n-$i/$y-$d); a($x/$w*$x-$w/$t/$j);
a($u*$m/$s-$z/$i*$g); a($c/$o/$e/$k-$t+$v); a($c*$x*$i/$c*$c/$c);
a($l*$s*$w/$b-$q/$z); a($e+$h+$u-$p+$y*$a); a($i*$s-$d-$o-$u*$r);
a($m-$v+$x*$s*$p+$n); a($e*$q*$i/$u/$b/$d); a($w/$o/$o/$w+$z+$f);
a($b/$q/$i*$v/$v*$q); a($e-$p+$m+$k+$u-$a); a($f*$j+$p*$f*$n*$d);
a($h*$z+$t*$r-$t/$u); a($m+$i-$t-$r-$a+$z); a($i+$r+$k/$s/$r+$v);
a($h*$u/$m*$c+$f-$s); a($m*$t-$d*$a+$z+$c); a($c+$m+$q*$n/$d+$s);
a($v*$n+$n*$d/$z-$f); a($x+$y*$y-$r+$w-$j); a($o-$u/$c-$h+$n-$n);
a($i-$y*$c-$t*$w/$z); a($m/$o-$h/$e+$d/$w); a($b*$o-$w-$s+$c/$u);
a($d-$q/$h+$u/$t/$z); a($k+$u+$q/$y+$j+$c); a($a/$n-$q-$f+$v/$r);
a($v+$x/$w/$p+$y-$q); a($v/$n-$p/$x+$p-$d); a($n/$v-$r/$n+$q-$d);
a($z*$e-$r-$s/$x*$c); a($c/$q+$n+$m+$u*$r); a($k/$w/$g/$f*$p/$a);
a($a+$x-$h*$d+$a*$n); a($e-$u-$u*$x-$m/$s); a($i*$r-$j-$u+$x+$s);
a($h*$s+$z+$z/$j-$g); a($f-$y/$u-$c*$x+$v); a($t+$p*$q*$j*$t/$e);
a($v*$r*$w-$v+$z+$d); a($s/$a*$z-$q-$z+$o); a($m+$e-$v/$u+$w+$l);
a($j+$o+$o-$r+$p-$z); a($d/$b*$r*$q-$b*$e); a($e+$g+$t/$r+$t/$a);
a($a*$u/$c/$z*$v/$p); a($m+$w-$w/$v-$e*$w); a($m+$w/$m-$y/$u+$n);
a($h+$o*$w*$y-$b-$i); a($b/$v-$r/$q*$o-$y); a($b*$o+$d+$x-$a/$b);
a($q+$q/$n-$x/$q+$k); a($s/$k*$j+$i-$g*$z); a($h-$t+$x/$y-$s+$x);
a($d*$l-$t/$r/$y-$h); a($g/$h/$o-$n+$d*$p); a($t/$n/$z/$m/$y+$k);
a($u*$z*$t*$y+$x*$d); a($r*$m*$b/$r+$d-$f); a($f/$a-$s/$p+$a*$i);
a($b+$t-$q-$s*$q/$n); a($g+$k*$t+$u-$o/$d); a($e/$a/$w*$a/$n-$a);
a($i-$r-$x/$o-$y*$t); a($k*$k*$x*$t+$j*$c); a($m-$p-$d/$s*$u+$o);
a($k*$t-$c+$m-$i*$q); a($d+$y*$b/$i/$n/$c); a($r-$u-$u-$m/$n*$m);
a($z/$w/$s/$y/$z-$d); a($r-$h-$w-$u+$j/$p); a($g/$z+$a-$a+$j-$o);
a($h*$q-$d+$n+$m-$d); a($i*$o*$c-$e*$d+$o); a($a/$q*$x-$s-$h*$q);
a($i*$x+$z/$z+$p/$o); a($d*$b*$n*$l-$n*$s); a($l-$c+$r-$r+$j/$w);
a($k/$b*$u+$p*$a*$d); a($w+$r/$o*$b*$q*$h); a($q*$y/$w/$y-$v+$e);
a($g-$p/$m*$j*$s*$o); a($j+$r/$z-$n*$s/$v); a($m+$g+$p/$s-$j*$s);
a($f*$l*$w-$t*$h/$s); a($w/$t-$y-$w-$s+$e); a($f/$n*$c-$v/$w+$u);
a($m+$r/$k*$d-$o+$f); a($c-$y-$h/$v-$u-$e); a($a+$l-$q/$e*$r/$w);
a($d+$k/$v/$v*$t*$g); a($b+$b*$e-$s*$r/$p); a($q/$u/$n+$t-$p/$g);
a($s*$u+$w*$t*$a/$a); a($p+$s+$w+$u+$s+$v); a($t+$t/$y+$x-$o*$l);
a($w/$z-$s-$p+$w+$c); a($o/$x/$p/$u+$n+$c); a($y-$s+$w+$p+$y+$a);
a($u-$v+$p+$o-$z*$i); a($e-$y*$g+$j+$w*$s); a($h*$j*$n-$k+$u*$s);
a($f-$f*$x-$v-$q-$k); a($l+$x+$r+$o*$f-$j); a($l*$w-$o+$f*$x*$p);
a($k+$i/$w+$q/$r-$f); a($n+$x+$y+$k*$p-$c); a($p/$v+$y/$o*$t+$c);
a($c-$u*$p-$g*$i*$e); a($k+$w/$d-$r/$n-$x); a($j+$p*$z*$k*$e*$o);
a($f-$p/$t/$k+$l-$b); a($v/$p/$o-$u-$q*$f); a($l-$c/$z-$s+$k-$j);
a($b/$w*$x+$k/$z/$u); a($i-$o+$n/$s+$i+$n); a($j+$u-$y*$i-$b/$b);
a($h/$z/$f-$e-$p*$m); a($i-$r*$e/$m-$l/$z); a($b+$t/$k-$t*$e-$g);
a($k+$v+$d+$g+$e/$o); a($k+$v-$q*$h/$l*$w); a($j-$i-$c/$p-$t-$p);
a($p+$w/$t-$w-$n-$p); a($z+$h*$j*$w+$a/$g); a($e*$g-$p+$m/$x*$n);
a($m-$v*$i*$e*$h-$k); a($g+$r/$r/$h+$o*$o); a($d/$m-$r+$s-$t/$c);
a($y+$z-$u+$v/$p+$b); a($g-$a-$o*$t/$j*$v); a($k*$p/$x-$x/$a/$w);
a($k/$n/$m/$o-$p/$y); a($g-$n/$n*$g-$w*$v); a($j+$o+$c-$a-$p/$d);
a($c-$w*$u*$w-$c/$u); a($e*$z+$y-$i+$s*$n); a($v+$n/$u/$l+$s+$j);
a($w-$r+$u*$z*$r+$f); a($k-$o*$x-$t*$p/$q); a($c+$i/$y-$s/$g-$h);
a($g/$x*$j*$g*$c*$z); a($i-$o-$b/$c/$t/$s); a($v*$v+$z+$z-$r*$i);
a($p/$b-$r*$b*$c*$v); a($l+$l/$z*$g+$q*$t); a($b*$w*$t+$n-$b+$t);
a($e/$x/$f/$s*$l/$g); a($k+$n-$z/$c-$o/$y); a($k-$p+$o*$z/$p-$y);
a($h+$c/$w-$s-$x*$e); a($y*$t-$o/$w*$y+$h); a($t-$h*$n-$a/$b-$r);
a($g/$z/$x*$e/$p*$n); a($g+$g-$t+$f*$x/$r); a($e+$b/$p-$x+$a/$b);
a($i*$k+$t-$t/$u+$g); a($l-$x+$c+$l*$h+$o); a($d-$s-$e-$b*$w/$c);
a($s-$p+$q-$p*$u+$j); a($s+$h-$w*$r+$g-$s); a($b/$m+$h/$u+$z*$w);
a($b+$v+$r-$x+$c*$i); a($a-$b*$q-$o*$u*$d); a($e+$w/$c+$c+$a+$u);
a($i+$o*$o*$j/$j+$y); a($f*$u-$s+$l+$x-$t); a($l/$t+$d+$g-$q*$b);
a($u+$z+$q/$t-$v-$c); a($m/$n*$r+$q-$i-$i); a($d-$x*$v*$a-$w/$s);
a($l*$i-$o-$z*$i*$i); a($c-$b/$z-$x/$z-$l); a($l/$x*$a*$p*$z/$t);
a($c-$j+$s+$x/$l/$j); a($m+$i/$w*$c-$t*$n); a($b*$i-$w+$o/$k-$y);
a($s-$z/$v*$m/$q-$g); a($v*$p+$r+$n+$u/$g); a($w/$b*$c-$q+$c/$u);
a($c/$x/$t*$p-$v-$r); a($m-$v-$o+$w/$j/$g); a($b*$s+$e-$t*$p-$r);
a($i-$t+$v+$p*$x-$z); a($k/$i+$p/$r/$i/$k); a($d+$p/$c*$y+$o-$t);
a($a*$v+$h-$d/$j/$p); a($f/$o*$g*$b/$o-$d); a($s-$s*$x-$v*$n+$w);
a($q/$u*$p*$u/$v-$e); a($o/$n/$x/$u-$n-$g); a($v+$q/$c-$g/$v+$e);
a($k-$n-$d*$b/$e+$s); a($i+$p-$m-$a+$w+$s); a($g+$x+$d/$a+$c/$e);
a($f*$s*$z*$y+$s-$p); a($j*$a-$v+$w*$a+$s); a($g-$b*$t-$x+$m-$z);
a($e+$w/$g+$y+$x+$p); a($k-$s/$d*$f-$g/$y); a($j-$v/$j-$b-$q-$e);
a($z+$p-$r-$n-$u+$k); a($u*$n/$i*$h-$t*$x); a($j-$k-$y*$h*$u/$w);
a($i/$u+$x/$p/$j*$g); a($g-$x+$o-$q*$h-$e); a($d+$y-$q/$b-$l-$g);
a($i*$o+$q*$n*$n-$x); a($n/$q-$t-$d+$y/$i); a($u+$r+$r-$p*$u-$e);
a($y-$r+$f*$y*$f/$h); a($f+$s-$g-$x/$j/$k); a($m/$y/$n/$v+$d*$r);
a($k/$r*$q-$d*$h-$f); a($g/$n-$o-$h+$n-$s); a($d+$v-$j-$h/$u+$x);
a($l/$i*$j+$w/$u+$v); a($s/$s+$p/$w*$s*$z); a($q*$v/$l*$l-$q+$a);
a($a*$u*$a/$h-$g/$o); a($e/$n-$m-$e/$u*$w); a($d/$w*$h-$j-$p+$w);
a($a*$c+$x+$g/$n+$p); a($h-$r/$e+$f-$q-$e); a($l*$y*$l-$t/$t+$p);
a($l+$z/$r-$w+$b+$o); a($j*$y*$o+$n*$p*$z); a($l+$c+$r+$y+$m*$g);
a($k-$x/$d-$t+$r-$n); a($k*$z*$k+$d-$j+$o); a($j*$w*$e+$i-$u-$i);
a($s-$z+$z*$w/$o*$e); a($c+$z+$d/$s*$s/$u); a($d-$d*$s/$u*$h+$s);
a($r-$v-$w*$y+$p*$m); a($i/$z-$n*$p/$u+$w); a($k/$s-$p+$s-$r-$i);
a($d/$y*$j*$b+$g*$u); a($i*$b/$s+$f-$o/$x); a($d/$f*$q-$v-$m*$a);
a($o/$t*$z/$n+$q*$k); a($d-$r+$f*$f*$u/$s); a($m/$v/$i/$e-$b/$z);
a($d+$y/$k/$h+$w-$d); a($a-$o/$h*$a-$j*$t); a($g*$r-$a+$m*$l/$c);
a($e+$v+$c+$d+$l*$v); a($e/$o-$d-$v-$d+$g); a($l/$e-$a/$z-$v-$v);
a($n+$v*$r-$w-$x-$b); a($d+$g/$v/$s*$b-$m); a($d*$q+$q/$l/$t*$n);
a($a/$z+$a-$s/$m*$h); a($c-$t-$d-$x/$t*$n); a($i+$i+$n-$e/$z+$l);
a($f+$p-$l+$s-$s/$z); a($j+$c+$x*$q+$f/$w); a($c*$z/$b/$v/$p-$n);
a($e+$r*$i*$f/$f+$t); a($c+$s*$e+$i*$r+$e); a($z*$q-$s-$s+$v/$m);
a($e*$j+$n*$n-$p/$g); a($c+$n/$x-$x-$z/$q); a($l*$n+$y*$v+$h*$h);
a($b*$q*$d*$q+$p*$t); a($i*$w*$h+$e-$f/$s); a($u+$x/$y*$w/$x+$l);
a($h*$n-$h+$k+$z+$v); a($g-$w+$m*$i-$h-$w); a($l+$l+$o*$c-$v-$a);
a($d+$x/$a*$s/$z*$r); a($d-$z+$o*$e*$p-$q); a($v-$t*$n-$n/$n/$h);
a($l-$x/$e-$m-$u+$d); a($f*$s-$t/$k*$s/$u); a($g-$c-$q*$l*$h-$r);
a($j+$a*$q/$s/$j*$n); a($k+$y/$e-$j+$f+$b); a($l-$x+$r+$r*$q+$p);
a($f*$t+$a-$b/$j+$e); a($b*$w*$p-$a+$t+$o); a($a-$j/$x*$r-$s/$b);
a($n-$z/$n*$q/$y/$q); a($v+$n*$n/$w/$s+$e); a($n+$y+$r/$r/$t/$i);
a($h-$b+$r*$u/$e+$n); a($c/$n-$d+$g-$g*$g); a($g+$y*$j/$s+$w*$p);
a($f/$w+$d/$g*$x+$d); a($q*$x*$y*$r+$v/$i); a($d*$t*$e/$d/$b*$v);
a($m/$u/$d*$f/$x+$b); a($o+$o-$s+$v/$n+$e); a($u*$s+$a+$k-$c*$j);
a($k*$n+$x*$z/$n+$n); a($a/$a-$x/$q*$q*$c); a($e/$i/$u*$s*$e+$h);
a($j*$y-$z/$i-$e*$m); a($s+$v-$y+$e+$r-$a); a($v+$x*$s*$x-$s/$a);
a($h-$o-$g-$p*$w+$x); a($w/$r+$y/$j*$f+$f); a($d/$o+$w*$d*$x+$q);
a($w/$n-$o-$m-$k-$h); a($v/$z+$q*$r/$y-$c); a($e/$p-$e*$a+$l-$e);
a($k/$w*$d/$z+$e/$g); a($j-$t/$q*$s-$z*$x); a($c+$q-$d+$c/$x*$h);
a($j/$z*$p/$k/$s-$r); a($a-$k/$w/$t-$d/$d); a($a-$p+$q+$r+$o-$q);
a($m-$f/$x*$y/$t-$l); a($g*$a+$f/$n+$u/$s); a($y-$q+$x+$r/$z-$j);
a($e/$t-$n*$q+$l-$r); a($j*$o+$s-$m*$p-$v); a($h-$u+$h*$m+$r+$i);
a($f+$f+$p+$w*$m-$o); a($i+$y/$e/$m/$a*$w); a($f/$a-$s+$x/$o/$g);
a($i/$j+$n/$v*$b+$u); a($l+$u+$n*$c*$g+$i); a($d/$p+$i+$x-$v+$p);
a($i-$z+$m+$a+$f*$i); a($w*$s/$q-$m*$c/$m); a($o+$w-$t*$s/$x+$q);
a($q+$b-$e+$h/$u*$d); a($i/$w+$k/$d+$w+$f); a($m*$z*$g+$y-$s/$o);
a($l/$h+$v*$j+$s-$c); a($g*$s/$z+$e*$o+$u); a($g-$a-$s+$q*$x-$h);
a($l-$e*$w*$s*$b/$p); a($a+$w/$n/$j*$t*$r); a($p-$n+$r*$v*$v/$i);
a($c+$z-$l-$w+$q*$t); a($b/$k/$u+$x/$b*$w); a($v+$w/$x/$v+$n*$k);
a($i-$y*$z-$u/$r*$r); a($a+$z*$p/$o/$x*$f); a($f*$x/$h/$e*$i+$u);
a($i*$c/$y-$m+$o/$u); a($h/$e+$o/$x+$k*$i); a($p/$v-$r*$n+$s/$m);
a($x/$b*$j-$c*$p*$h); a($h+$u+$i/$d/$v*$m); a($l*$o*$g-$u-$t/$o);
a($d-$h+$o-$c+$p+$g); a($e-$r+$p*$f-$y/$y); a($h*$m+$y-$n-$r-$b);
a($h-$k+$y+$w+$j-$u); a($c+$n/$y/$f+$r-$u); a($r*$q-$p-$j/$b+$a);
a($o-$w*$q/$r/$y/$w); a($z*$x-$e-$v*$d-$a); a($h/$t+$a*$u*$m+$b);
a($i-$v/$h*$n/$f/$i); a($f/$s/$z+$d*$r*$r); a($h+$p*$b+$d/$p-$i);
a($s*$x/$v-$r/$o/$m); a($o/$k/$q-$z/$y+$i); a($j+$p+$a-$s+$z/$u);
a($l/$n/$b/$k*$n/$k); a($g/$e-$v*$v-$c-$s); a($h*$p/$q*$u*$p/$i);
a($e/$o/$v+$c*$n*$s); a($h-$m*$y+$t/$r*$i); a($k+$r-$u/$e-$l+$v);
a($o*$z/$z*$t/$r+$a); a($e-$v*$h+$n/$v*$w); a($h-$i*$q-$y/$g+$n);
a($p+$r/$s/$v-$w-$h); a($c+$t+$n/$z/$n-$n); a($m*$v-$u*$o*$z+$g);
a($c/$w*$c*$i*$b+$t); a($j+$j+$v/$e/$n/$y); a($d*$h*$o*$r-$k+$b);
a($t*$r*$s/$o+$w/$k); a($c+$t*$q/$x-$c*$q); a($b/$z-$g-$c*$j-$s);
a($i-$v*$b+$l-$n-$e); a($l+$s+$q-$a+$o+$h); a($c/$b/$s-$j*$n*$z);
a($d/$f+$n*$x-$e+$x); a($f-$q+$u*$l*$s-$r); a($i*$r+$o-$v-$e-$b);
a($t*$q-$q+$y+$v/$c); a($c-$t-$c+$m+$v+$x); a($f-$s/$c+$p-$n+$r);
a($j-$v/$h*$k-$v-$h); a($h+$o-$v+$n*$d+$f); a($x/$t/$n/$x+$r/$g);
a($k/$g*$s-$f+$l*$o); a($d/$d*$v/$z/$q*$e); a($f+$n+$c*$s+$n+$w);
a($c-$d/$s+$o/$k-$g); a($j-$r/$g-$s/$n/$r); a($i-$u/$k+$b*$w*$f);
a($m/$u+$y-$k+$g-$r); a($w*$o/$n/$y*$w-$f); a($g+$x*$y-$x/$a*$j);
a($h-$n+$g/$c+$f+$o); a($e/$k/$q+$l/$a-$u); a($l+$x/$g*$j/$n/$c);
a($y-$s-$z*$u/$q/$m); a($i*$q*$i*$f-$q/$k); a($k+$v/$u+$f-$r-$x);
a($g+$h*$n+$g/$e+$x); a($j*$h*$q*$z-$f-$x); a($h*$x/$j-$k-$a+$a);
a($l-$z*$s/$y/$n-$t); a($e+$r*$e*$l+$a-$j); a($b/$v/$z/$j-$z-$o);
a($d*$f*$r*$u-$t+$c); a($r*$z*$n/$t+$o/$o); a($s-$t*$n/$z*$n-$e);
a($z+$u/$t*$p*$q+$c); a($b/$x+$t+$b/$i+$f); a($g/$q/$w/$c/$x/$p);
a($g+$w*$v*$t/$z-$r); a($a+$p/$w*$r+$k+$d); a($j+$y-$c-$n*$j/$m);
a($h/$v/$g/$t*$x/$y); a($e/$u+$i/$d/$t*$d); a($g/$o+$t*$i*$z+$y);
a($i*$c/$r/$n+$k*$y); a($n*$w*$n/$s/$u-$i); a($c*$z+$t-$l*$v+$k);
a($b*$g*$q+$q-$r+$b); a($f+$t+$d/$c+$a+$v); a($a*$w*$e/$b/$w+$x);
a($z/$o-$n*$q/$v+$j); a($x*$d*$s-$h-$q-$g); a($c+$q-$o/$s+$y-$q);
a($e*$b/$r/$t*$x-$e); a($i-$f*$w/$n-$h*$x); a($t-$z-$r-$j/$e-$x);
a($p*$p/$r/$e+$f/$v); a($t-$y-$u/$t+$t*$u); a($q*$a-$b/$c*$x/$y);
a($h+$p+$z+$m+$a+$m); a($d/$n*$v*$d+$q+$u); a($r-$y/$y/$w-$v*$h);
a($j*$q*$r*$v-$r+$p); a($h*$k/$t*$c/$x/$s); a($j/$y-$q-$t-$b*$h);
a($j-$z/$k-$o-$p/$t); a($e/$q*$r/$k-$w-$p); a($k/$u*$a+$c-$q*$f);
a($k*$v+$w/$v*$g-$w); a($l*$n-$u+$l/$w/$r); a($p/$q/$y*$y+$y/$k);
a($c+$n*$c+$y+$t-$r); a($b+$b-$u-$r*$a*$s); a($t+$o-$r*$r-$s/$m);
a($g-$s-$r+$p*$r*$q); a($g-$p+$p*$r/$u/$f); a($m-$s+$i/$e*$d/$o);
a($k/$c-$u*$b+$q*$q); a($f-$m/$x-$r+$m/$c); a($z+$s/$r-$p*$t*$a);
a($k+$f-$o*$s/$m/$s); a($h-$z*$u-$o-$n/$w); a($d/$z-$f-$r-$f*$b);
a($b/$e/$q+$h*$x/$m); a($h+$v/$r-$w/$n-$v); a($k*$f/$p*$z*$f*$g);
a($b/$x*$m+$z+$n/$v); a($l-$o+$h/$m-$m-$t); a($f+$x-$a/$h-$v*$c);
a($x/$w*$p+$h+$q+$g); a($o+$v*$v/$u*$n-$b); a($g-$m*$o/$t*$k+$e);
a($e-$u/$w/$h-$a*$d); a($a+$n/$x-$d+$r-$t); a($s-$q/$u+$q*$y*$b);
a($c-$p*$c*$v/$e+$c); a($k-$r+$h-$u-$q*$q); a($h+$d*$n/$z-$k+$y);
a($e+$e/$p+$r+$j-$k); a($k-$p*$u-$m/$s+$u); a($f+$r*$h*$h+$t-$a);
a($l/$r/$t/$e-$t+$v); a($e/$b*$x/$p*$z+$d); a($a+$c/$n*$t/$g-$o);
a($o/$x*$n+$r-$x*$i); a($j*$n+$n+$y+$p-$z); a($e-$i/$u-$n+$q/$f);
a($c+$w/$r-$j/$w/$s); a($v+$q*$s*$r-$u+$e); a($h/$t*$v/$z/$x+$u);
a($z-$s/$c/$a*$o-$y); a($w+$m-$p+$d/$b/$j); a($z+$l/$f/$i-$u/$j);
a($n+$d-$m-$l*$x/$s); a($s+$u+$q/$w*$s+$i); a($p-$c-$h+$w-$h/$h);
a($s*$z-$c+$j/$a*$d); a($t*$i+$i-$e-$m*$d); a($y*$v/$n*$c/$z-$h);
a($z-$y/$t+$v*$v/$o); a($r+$z*$x+$w+$o/$l); a($q-$v-$u*$u-$t-$d);
a($u*$f-$j-$p/$h*$e); a($d/$o*$e+$f*$h-$m); a($f/$v+$k+$n+$n+$v);
a($g-$j/$x*$w*$s*$a); a($h-$z/$m/$y+$w+$o); a($m/$i/$y+$s-$h*$c);
a($l/$g+$o*$l*$w-$z); a($b+$p*$n/$t+$y+$w); a($i*$n*$m+$o-$h+$j);
a($x+$v+$t/$u*$x+$f); a($f+$q-$u*$k+$k+$v); a($e/$j/$h/$y-$v+$o);
a($m*$q+$f*$a-$q*$o); a($e*$r-$k-$g*$s*$i); a($h*$x*$v+$u/$z-$u);
a($h-$c-$o*$w*$j*$y); a($b+$d+$u+$q/$l*$d); a($b*$y-$a-$y/$n/$q);
a($j/$n/$x+$w+$k/$v); a($j*$j/$n*$r-$a*$v); a($p/$w+$t+$c/$s-$g);
a($s-$t-$z+$o*$p*$i); a($j+$r+$a+$j+$o-$c); a($g+$r*$l/$b+$m*$z);
a($k/$d*$t+$t+$j*$w); a($e+$h+$y-$q*$c*$k); a($a-$q+$r+$o/$o-$r);
a($k/$v/$c+$n/$k*$l); a($c/$w*$w+$a-$h/$u); a($e/$q*$f/$q*$y+$u);
a($b*$q-$q+$w-$w*$w); a($s+$n/$n*$v-$n+$l); a($m+$t*$n/$b/$w*$a);
a($a-$q+$c*$k+$d/$s); a($l*$c*$w-$x/$r/$i); a($q-$p+$w/$o/$v/$j);
a($j/$f*$s-$x-$i*$h); a($g+$w*$q+$l+$l+$i); a($m*$v*$n*$d+$w+$u);
a($z-$v/$o-$x/$p*$i); a($x-$c+$g+$s+$d*$k); a($e-$j*$w*$q-$k*$d);
a($f+$w+$v+$h*$q-$s); a($g-$p*$x-$p*$v-$r); a($b*$u+$b+$f-$p+$o);
a($o/$z/$x-$t*$u-$c); a($n+$p/$b*$l-$f-$e); a($i-$p*$l/$c-$w-$a);
a($f+$t*$w-$d*$c*$r); a($m*$x+$k*$x/$o/$v); a($j-$o+$h/$j/$y+$f);
a($k+$o*$w/$f+$u+$x); a($t-$v/$x-$r-$o/$k); a($t*$n-$r*$u+$c/$d);
a($u/$r/$p/$x+$u/$b); a($w*$f-$k*$u+$q/$o); a($d*$w-$m*$m/$g*$w);
a($g+$q/$b/$b/$s-$b); a($a/$f-$h*$q+$u+$s); a($s/$s*$s/$q*$o/$o);
a($r+$n*$o+$v*$z/$e); a($z-$u-$o+$q/$w-$e); a($y+$x+$p/$z*$q+$j);
a($o/$s+$z+$v+$s-$c); a($s+$n+$d*$j+$l-$h); a($b+$f/$v-$l/$d+$l);
a($e/$o/$g*$d-$c*$f); a($g-$b+$y*$w*$t*$e); a($e+$z/$z/$c*$p*$v);
a($f-$a-$x*$n*$b+$x); a($e+$b*$p+$u-$e/$v); a($z*$s-$r-$s-$y+$u);
a($q*$b-$o/$u*$b*$s); a($d+$y+$m/$s-$p+$y); a($h*$i+$o*$v-$c+$m);
a($b+$z+$k+$q-$a*$b); a($h+$t+$u-$h-$r/$q); a($i/$b*$r/$y/$s*$i);
a($o+$u*$y/$n+$p*$l); a($y-$h*$c+$s-$c-$i); a($g*$f/$z*$p*$b+$h);
a($g/$u*$o*$w-$t-$p); a($h-$p-$a*$y*$f/$k); a($m*$q+$k/$t/$o/$r);
a($m/$u*$l*$f*$o-$d); a($v/$o/$x/$p/$y-$c); a($n-$g*$m*$u/$b+$q);
a($d+$u+$d-$m*$f-$z); a($f*$o+$l/$a/$d/$o); a($l-$l+$s+$r-$a-$s);
a($c/$y*$z*$j-$v+$u); a($c+$k+$s/$l-$v*$b); a($e+$s+$r+$m+$q*$z);
a($a*$p*$f/$y*$e*$e); a($f+$h/$u+$x-$i*$e); a($v-$s-$w-$y-$z*$d);
a($v/$x/$u*$u/$f-$b); a($s-$n/$r/$r+$s+$c); a($p-$x+$i+$d/$u-$m);
a($l*$t+$w*$m*$b/$l); a($d*$b/$p*$a+$y/$w); a($b+$h*$q+$v/$w-$a);
a($k*$o/$v+$x*$m+$o); a($g-$y*$z-$b+$k/$i); a($g+$r*$a-$w*$t+$t);
a($k-$s*$h+$t+$m*$m); a($g-$x+$k+$z-$b-$j); a($v-$v*$p-$o*$x-$f);
a($j/$y*$r-$v/$n*$p); a($b+$j-$p+$p/$q+$e); a($i/$s*$o/$l*$y/$s);
a($z+$s+$z*$x+$p+$f); a($h*$n+$q-$r+$w*$y); a($g+$q+$w-$y-$q-$j);
a($f-$v-$b*$i*$l*$y); a($g+$b-$n+$b-$y-$u); a($g-$g+$r+$x+$g-$a);
a($r+$u*$r/$y*$w/$j); a($m+$o*$y*$p-$q+$y); a($g+$l-$v-$x-$y/$k);
a($k*$s+$c*$t+$x+$z); a($c*$j-$w*$w/$b*$m); a($f/$t-$w*$j/$e-$b);
a($b*$r*$f+$j*$y+$p); a($g/$o/$q/$j-$w*$s); a($e/$j-$p/$n-$k+$l);
a($i+$w+$k-$u/$s*$r); a($h-$x/$t+$v*$b/$s); a($y/$p+$r*$y+$z*$m);
a($y*$r+$v-$q*$a*$i); a($r*$s/$v/$o*$q/$z); a($t*$w*$s-$v-$x+$f);
a($n-$s-$y*$x+$q+$e); a($p*$i*$c*$p*$o*$l); a($l/$l-$y/$k/$u-$q);
a($m+$q-$s/$z*$n*$o); a($j-$x/$p/$r-$j-$k); a($j*$f+$u+$y-$n-$k);
a($l-$n-$i+$x-$q*$o); a($j*$n/$i/$t+$k+$f); a($c-$u*$o-$s*$x*$q);
a($m*$i/$w-$z+$m-$l); a($j*$s+$z*$a/$q-$p); a($m*$e-$x-$q*$q-$g);
a($g-$s/$x*$t/$w*$x); a($e*$z/$l-$w+$g-$k); a($x+$q+$r-$x+$q/$d);
a($h*$o-$s/$e*$t*$u); a($h/$f+$w*$t/$n+$x); a($d/$f+$s-$g+$t+$x);
a($g-$o/$v-$n+$n/$n); a($g+$a/$s+$t/$b+$l); a($i*$x*$g*$r/$o*$u);
a($e+$n/$e-$g-$g-$w); a($c+$q*$f-$m-$p-$h); a($d+$i-$u+$w+$b*$y);
a($n/$u*$o+$l+$x+$l); a($y-$n/$n+$y*$x*$g); a($k/$v*$r-$s*$t+$p);
a($e*$o+$x-$o*$x-$i); a($a+$y*$d/$m/$c*$y); a($d/$e-$x+$i-$n/$k);
a($b/$y*$u*$c-$z-$v); a($t/$o/$v+$x-$q-$k); a($e-$t/$t+$t+$w/$p);
a($j-$u-$k+$u*$e/$b); a($d*$w*$h-$s+$b-$i); a($v*$u+$z+$t+$z*$h);
a($d+$u/$n/$y+$h/$y); a($j-$t+$y+$m-$d/$l); a($g*$r*$r/$g-$z+$s);
a($k-$u-$a*$a/$n+$o); a($c-$u*$b*$v/$s*$n); a($m*$g-$p+$n*$i*$r);
a($b*$b-$s-$r*$c/$b); a($m-$k+$p+$p-$w*$k); a($a+$f*$f/$q/$u/$q);
a($y*$n-$n+$o+$x/$e); a($c+$n+$f/$m-$b-$i); a($m*$n*$y*$j-$e*$f);
a($d-$c-$h*$u+$w-$o); a($a*$g+$q-$v*$l/$y); a($f+$t+$e+$n/$z/$x);
a($m/$w/$t-$r*$i*$q); a($f/$l-$x-$v*$g*$y); a($u+$r/$n*$t/$s/$b);
a($x+$t*$x+$v*$j+$j); a($y-$w-$u+$v*$w/$a); a($j/$n/$z*$z/$j*$r);
a($m/$u/$z-$j+$k-$i); a($b*$w+$p/$s*$w-$o); a($f+$p*$m*$g*$l+$p);
a($b+$j/$u-$u/$c*$t); a($s*$z-$z+$r+$x*$o); a($o+$r*$t/$q*$w-$d);
a($p+$u/$w/$x/$v+$b); a($p+$r+$x/$u/$q*$d); a($w-$y*$u+$q/$x*$d);
a($k-$e*$o-$v+$g-$c); a($a+$x+$x*$f*$e+$e); a($e/$s/$p-$h*$w*$t);
a($j*$y-$a*$b*$k+$s); a($k/$i-$z*$y/$v-$l); a($j-$k/$e+$z*$y-$w);
a($v+$v-$r*$f-$k-$q); a($u+$s-$t/$l/$d-$w); a($x*$u-$u/$q/$n*$x);
a($w+$k-$l-$i-$d/$y); a($h/$o+$p-$a/$l-$j); a($j+$o*$h-$m+$k*$v);
a($v/$x*$y-$w+$n+$l); a($i+$s*$t/$u*$f/$p); a($k+$w*$s-$t+$r-$u);
a($b+$i/$x-$q+$v+$f); a($j/$t*$q-$d+$y/$s); a($d+$g-$z-$p*$c+$y);
a($r*$n/$w*$x*$z+$f); a($l/$j/$r+$k*$c+$t); a($h-$r+$w+$f+$i-$e);
a($i*$x/$p/$w/$s*$x); a($m/$i-$o-$q+$h*$e); a($p/$x+$z*$z+$s/$l);
a($e-$r-$f/$u+$w-$q); a($a/$d-$w+$z*$a+$k); a($x*$n/$o/$b+$z*$u);
a($a+$b-$z/$q-$a*$v); a($u-$z-$q*$y+$x+$a); a($e*$p*$t/$z*$v*$n);
a($i/$o/$j/$o+$j/$e); a($f*$v+$k+$n*$a-$l); a($r-$q+$z/$n/$y*$b);
a($d+$q/$u+$t-$t/$t); a($f*$t*$p+$s/$y+$b); a($m-$q-$j-$h-$m-$v);
a($d*$f+$q-$j-$u*$t); a($m+$j-$x*$u*$a/$c); a($v-$z/$b+$u-$g/$n);
a($z*$r*$n-$x/$x+$p); a($x+$i*$y+$x+$a+$l); a($y+$v-$x/$n-$z-$m);
a($e-$z*$t+$z*$j-$h); a($f+$w-$b+$i-$i/$s); a($p-$s+$v/$z-$i-$z);
a($z/$v+$v-$q-$t-$e); a($z/$t*$u+$t-$o/$e); a($o+$p+$l/$a/$f/$i);
a($c-$s+$u+$o-$a-$m); a($d+$x+$q/$j/$e*$s); a($f-$t-$p*$q/$r*$o);
a($m+$a/$u*$o-$z/$d); a($r-$t*$s-$v+$t-$c); a($z+$w+$l+$u*$a-$l);
a($h-$n+$c*$p-$h*$b); a($k/$z+$d/$t/$h-$g); a($i/$x+$u+$g/$p+$z);
a($d*$q+$l/$b+$v*$f); a($t/$n/$u*$q/$y*$c); a($t/$e-$b*$x+$p-$n);
a($h/$t/$g-$d+$d*$w); a($h/$o*$o+$e+$y+$w); a($p/$t-$v-$w+$o/$k);
a($k-$t-$n*$p/$e*$o); a($d/$x-$v*$n*$v-$n); a($h*$e+$v+$r/$s*$f);
a($k*$q-$z/$f*$w*$u); a($j/$d/$v*$r-$l-$q); a($v+$w/$s+$v/$h/$s);
a($w*$u-$o/$z-$y*$j); a($t-$p/$x*$v+$x-$e); a($u*$m*$k+$u-$l+$k);
a($k*$x-$t+$c-$a/$a); a($k-$t/$p/$j+$o/$w); a($m*$v*$d*$n+$c+$d);
a($k/$x+$f*$w-$g*$e); a($i/$j*$j-$x-$t-$n); a($p-$o-$t-$p-$y/$a);
a($b*$q*$q-$o+$e/$p); a($m*$t*$s+$r-$v*$s); a($k-$a+$y*$q/$w/$c);
a($l-$x-$p/$c*$t-$u); a($f/$k-$w-$z/$j*$o); a($r+$q/$z+$z*$l+$x);
a($n+$v+$w+$s*$n-$a); a($n+$x+$u+$p+$t+$i); a($v*$t*$d/$b-$u/$t);
a($g+$z/$y+$c/$s*$t); a($l+$s+$s-$m+$n*$y); a($g+$b*$t-$x+$l/$j);
a($g/$r+$p-$g/$b+$j); a($f-$y*$c/$m-$k*$u); a($g*$b+$o-$m-$y*$h);
a($d/$s-$r/$d*$w*$q); a($f-$o+$a/$j+$z-$m); a($q/$y/$w+$z/$u/$b);
a($x*$z/$z-$q*$l/$e); a($u-$w/$v+$o/$q*$j); a($y+$o/$b/$l-$i+$o);
a($k/$j*$m/$n*$s*$s); a($m-$s+$a+$u/$k*$d); a($l-$q/$t*$u*$v+$u);
a($j/$y+$k-$k+$o*$i); a($s/$n+$n-$u/$u+$i); a($m/$q+$t/$w+$b/$z);
a($j+$x/$x/$n+$o+$t); a($f+$i+$n-$x-$p+$m); a($a*$s-$o/$f*$x/$o);
a($z-$y+$z-$l*$c*$j); a($w+$o*$t/$p*$p*$u); a($r-$w-$m/$b*$b/$v);
a($a+$w-$i/$f/$l-$o); a($n*$s-$w/$q*$v/$k); a($f*$m*$i-$w+$r+$o);
a($l*$q*$h/$e*$j/$z); a($d/$i-$w/$f/$z*$x); a($x*$v+$t-$w-$q*$g);
a($b*$s*$y-$n*$a+$v); a($j*$y/$w*$s-$x*$y); a($c-$l*$q*$p/$x/$e);
a($m/$x+$s*$j*$r+$z); a($x*$x+$e+$n+$i/$p); a($t*$t-$s/$p/$s-$l);
a($u/$v*$p-$q*$u+$i); a($n/$a*$j-$l*$j*$v); a($l+$o/$r+$g*$e-$a);
a($l/$z/$s/$t/$o*$y); a($k+$a-$p-$s/$a*$k); a($w-$t-$y/$w/$q/$a);
a($c+$u+$n+$q-$r+$o); a($a*$a-$n/$s*$p*$b); a($i*$v/$p+$l+$t/$v);
a($o-$r/$x*$t+$p+$g); a($a/$a+$g*$o*$t+$v); a($k*$x*$l+$f+$i*$t);
a($k/$i+$w+$c+$x/$q); a($s*$q+$w*$x*$v+$j); a($l+$x*$n/$n-$t-$y);
a($h-$z/$r-$r+$q/$l); a($e*$y*$b/$l+$e/$x); a($h/$c+$z/$g-$z/$v);
a($k*$f/$p+$r+$d-$m); a($q*$u/$y*$q*$q+$y); a($k-$q/$k*$k/$l/$n);
a($j+$k/$r*$u/$r*$e); a($n-$q-$z+$n+$p/$k); a($g/$w+$n*$p-$q+$p);
a($k-$d-$y*$o*$r-$g); a($a+$o*$v/$f/$u-$t); a($n+$s-$r+$r*$p-$a);
a($l-$k*$c-$s-$x*$z); a($h*$n+$d*$g/$g*$q); a($b*$i-$o/$f*$y/$q);
a($z*$p-$q/$r*$w*$c); a($l+$t+$r+$p*$w-$t); a($s-$y-$t*$y+$x+$m);
a($f/$u+$p/$d*$i-$g); a($h/$l-$r*$h*$x-$v); a($g-$r/$m/$a*$x/$t);
a($k-$q*$z/$r+$o-$w); a($l+$z*$b+$a-$r+$c); a($r*$y-$v*$r*$p+$j);
a($h*$u+$v/$v-$v-$a); a($i/$u/$r+$m-$n/$n); a($h-$y-$m/$p/$q*$w);
a($j+$x+$g*$h-$p/$k); a($e*$o+$z+$a/$h/$w); a($s*$z/$r-$o/$v-$m);
a($k*$l*$y-$m/$i+$n); a($c*$y/$b/$t-$r*$z); a($m+$d-$q+$s/$c+$e);
a($d-$o/$w*$a+$j*$h); a($q*$n*$q+$w/$u/$j); a($p/$o*$f-$o*$p*$c);
a($w-$u+$k+$r*$v-$n); a($n*$p/$t*$x-$q+$g); a($a/$o+$w*$c-$v/$i);
a($h-$t+$h*$t-$p/$v); a($i/$p/$m/$g/$y*$e); a($d+$x-$w-$d*$f/$s);
a($c+$p+$z/$f-$r-$u); a($j-$k/$r/$o/$y-$h); a($b/$f/$s*$s-$h*$u);
a($r+$o-$w*$r+$x-$a); a($k+$v+$y+$y+$s/$z); a($g+$v+$k+$a/$s*$f);
a($j-$r+$v*$p+$e*$b); a($x+$t*$z+$x*$r-$f); a($i*$j/$z+$x*$e*$i);
a($h+$k-$z*$m/$l*$o); a($a-$r/$j+$d*$f+$u); a($x+$p*$q/$z/$r*$h);
a($a+$x+$z+$e+$p-$r); a($h*$g/$f/$s-$w*$o); a($l-$s-$s-$h-$z-$u);
a($j+$d*$y+$z-$i-$p); a($p*$t+$j+$t/$g*$z); a($n/$p*$q*$n-$o*$u);
a($w+$t*$p+$v/$n*$h); a($y+$r+$q+$t*$p+$f); a($w+$n*$p*$j+$i*$n);
a($x+$t*$t-$h-$g/$y); a($z-$z/$w*$y*$y+$g); a($q/$j/$x*$r/$b+$h);
a($e-$c+$o-$q/$c-$w); a($r/$n+$v+$w*$w*$c); a($v*$r-$g*$v/$k*$d);
a($f+$p+$v-$x+$r/$b); a($i-$w/$d-$k-$f/$o); a($f-$d*$t-$l+$q-$r);
a($k*$c-$r-$p+$l/$f); a($w+$x-$n+$c/$q/$l); a($s+$w+$y+$p/$s-$f);
a($y+$p/$l*$z+$b/$h); a($m/$u*$m/$t+$c+$e); a($b-$q-$d/$w*$g-$g);
a($i-$y*$w-$h*$q+$z); a($c-$t*$j*$g+$n*$c); a($z*$p+$n+$v-$s-$h);
a($u/$j-$o*$u/$x*$f); a($j-$u*$k*$w-$z*$p); a($k*$u/$f/$i+$w-$a);
a($b-$d*$v/$u/$f/$w); a($g*$v+$o+$r+$q*$i); a($c+$w-$t/$f-$x/$s);
a($a*$b*$u+$n+$o-$c); a($d*$v/$w/$d-$a/$y); a($w-$z-$v-$r/$o*$v);
Re: Allen Ginsberg - Is About WOW (possible spoiler)
by Tomte (Priest) on Mar 11, 2003 at 09:06 UTC
|
++diotalevi! Stunning
I just have to answer and give a few guesses why this works!
- close STDERR to get rid of the compiler output (Syntax OK)
-
pipe STDOUT (the compiler-output) to a call of the script itself, this time with a parameter (so the if-test in the begin block is true this time).
-
generate strings representing 8bit binaries (== bytes)
-
pack the binaries into strings (i.e. chars)
-
transliterate these length-1 strings using a very obfuscated tr call and print them.
What I don't understand is, if I got it right in the first place, how the hell did you construct those a(...) calls to get the needed compiler output?
So the question is: Am I right with my guesses, or did I fall prey to your obfuscation skills?
regards,
tomte
| [reply] |
|
Closing STDERR does roughly what you say (except that
the "Syntax OK" will get through, because it's not
coming from the compiler but from the debugger and
goes to STDOUT -- I think).
As far as STDOUT, opening STDOUT just causes anything
printed on STDOUT to go to (in this case) the second
instance of the script. So whatever is printed the
first time through comes in on standard input the
second time through. But stuff that goes to STDOUT
is not redirected to STDERR; it just disappears.
And note that STDOUT is closed both times through,
so basically you can forget about STDOUT. The
only reason he messes with it at all is to suppress
one unwanted message. Comment it out and see.
The call to tr is pretty simple, acutally. It just
removes any unlisted characters and leaves the listed
ones alone. Obviously he's getting rid of unwanted
punctuation. But the question is, how did he manage
to get to the point where all he needed was to remove
some unwanted characters?
I can tell that he's abusing the debugger in some
fairly spectacular way (++), but never having used
the debugger myself I can't go much further than that.
He says "both tricks", but I'm pretty sure that
whatever he's doing with the debugger is the main
trick. As far as the calls to &a, they look to me
like they're syntactically valid but never called
(due to the exit); thus, were it not for whatever
black magic he's working with the debugger they
would do nothing, producing no output at all.
Additionally, the contents of that subroutine
would produce no output anyway with STDERR closed.
I'm sure the explanation centers around the debugger,
but that's about all I know.
for(unpack("C*",'GGGG?GGGG?O__\?WccW?{GCw?Wcc{?Wcc~?Wcc{?~cc'
.'W?')){$j=$_-63;++$a;for$p(0..7){$h[$p][$a]=$j%2;$j/=2}}for$
p(0..7){for$a(1..45){$_=($h[$p-1][$a])?'#':' ';print}print$/}
| [reply] [d/l] |
|
| [reply] |
|
|
|
Correct on all points - the two tricks are (a) what all the a(...) calls mean (how about following the output through stage by stage, eh?) and (b) what the tr call is doing.
Seeking Green geeks in Minnesota
| [reply] |
Re: Allen Ginsberg - Is About
by robartes (Priest) on Mar 11, 2003 at 14:49 UTC
|
I'm gonna dip my toe in the water here. I don't understand it completely (notably, the exact link between the arithmetic and the various padsv and gvsv entries in the debug output is beyond me), but here goes. This code:
- Runs itself through O, producing lots (and I mean *lots*) of output. This happens in the main part of the code (use O)
- Sets up to discard STDERR ('.. Syntax OK' message) and spawn a copy of itself, with that copy's STDIN piped from STDOUT of the first copy. This is done in the BEGIN block, as is most of the rest of the work.
- The second copy, in it's BEGIN block, does some juggling on its STDIN input (which is the debugger output from the first copy) to transform the various lines into a binary number between 0 and 59 (I could be off there). Which bit gets set and which doesn't depends on the occurrence of padsv or gvsv (map { $_ eq 'padsv' ? 0 : 1 }) in the munged input.
- This binary number is then used to look up a corresponding character to print, via the tr statement.
- The character found is printed.
- The person executing the script is absolutely dumbfounded.
That being said, the trick to this, apart from the output of one copy feeding into another copy bit, is to get the main script to produce debugger output with just the correct sequence of padsv and gvsv lines (among others) to generate the text wanted. I suspect that somewhere in diotalevi's archives, there's a script that produces code to do just that for any text.
Very nice job, diotalevi!
Update: After a chatterbox conversation with diotalevi, I now (think I) understand the link between the script and it's debugger output. If you look carefully at the arithmetic expressions in the main part of the script, you will see that some of the variables there are declared before, using my (and are thus lexically scoped), while others (e.g. $a and $c) are not, and are thus global. Global scalars are stored in gvsv, lexically scoped ones in padsv structures. Hence, by carefully choosing the sequence of variable names (the calculations themselves are unimportant), diotalevi controls the output of the debugger, and thus the sequence of bits fed into tr. Brilliant!
Also note that, although I'm talking about 'the debugger' here, it's actually the B::Terse compiler backend that generates the output, not the debugger. It was just easier to write debugger instead of 'B::Terse backend' all the time :).
CU Robartes-
| [reply] [d/l] [select] |
|
| [reply] |
Re: Allen Ginsberg - Is About
by mowgli (Friar) on Mar 11, 2003 at 09:54 UTC
|
Wow. If you seriously call this "not terribly obfuscated", then I'd love to see one of your *real* obfuscations. :)
--
mowgli
| [reply] |
|
|