$_=q^($w,$h)=s plit/x/,shift||"19x20";$q=10+10*$w;$r=20+10*$h;@m=((31,(15)x ($w-1))x$h,(31)x$w);$m[$c]|=16,!(@a=grep!($m[$c+$$_[0]]&16+$|*$$_[1]),[- 1,8],[1,1],[$w,4],[-$w,2])?$c=pop@p:${($i,$j)=@{$a[rand@a ]};$m[$c]&=~ (8/$j);push@p,$c;$m[$c+=$i]&=~$j;++$u-$h*$w+$h||map$_&=15,@m,splice(@p), $c=$|=1}until$|&$c+2>$w*$h;$C=$q-4*int$q/4;$A=($q+$C)*$r;$u=pack"x"x(($q +$C)*$r);subZd{my($f,$g,$h,$i,$e)=@_;@a=sort{"000$a"<=>"000$b"}$h,$i||$h ;for($a[0]..$a[1]){$s=($r-$_)*($q+$C)+$f;vec($u,$_,8)=$e||2 for$s..$s+$g -1}};subZt{$a=shift;$x=10*($a%$w);$y=10*(2+int$a/$w)};dZ9,$q-20,10;dZ9,$ q-20,$r-10;dZ9,1,10,$r-10;dZ$q-11,1,10,$r-10;map{t$_;if($_%$w){$m[$_]&2? d$x-1,11,$y:"";$m[$_]&8?d$x+9,1,$y-10,$y:"";}}0..-1+$w*$h;$F="LIST";open (FH,">al.avi");binmodeZFH;selectZFH;printZpack"V*",/\d/?$_:unpack"V*",$_ Zfor"RIFF",(1256+($A+24)*($B=3+scalar@p)),"AVIZ$F",1216,"hdrlavih",56,50 0000,32,0,2064,$B,0,1,$A,$q,$r,(0)x4,$F,1140,"strlstrh",56,"vids",(0)x4, 1,10,0,$B,$A,-1,(0)x3,"strf",1064,40,$q,$r,pack("vv",1,8),0,$A,(0)x4,pac k(("C"x1024),(0xff)x3,0,128),$F,(4+($A+8)*$B),"movi";map{printZSTDOUT"." ;t$z||1;$l=$x;$t=$y;t$_;$ri=$x;if($l>$x){$ri=$l;$l=$x}d$l+2,5+$ri-$l,($t <$y?$t:$y)-7,($t<$y?$y:$t)-3,1;$z=$_;print"00db".pack("V",$A).$u}@p,(-1+ $w*$h)x3;print"idx1".pack"V",16*$B;$o=4;for(1..$B){print"00db".pack"VVV" ,16,$o,$A;$o+=$A+8}^;s#((?{$a.=$+})\s?(\S*)\s?)*#$a=~s/Z/ /g;$a#see