$:=($w=<>)*2+6;$r=_ x($m=$w>3?3:$w);$k="#"x($w-3)."."."-"x$m;sub
r{($y,$_)=@_;$x=$y=~y//./rc;s/$x$/$y/r}printf"%$:s%s
",y!/\\[!\\/]!r,(reverse=~s/.//r)for".","|",
(map{".  ".$"x$_."["."#"x$_,r("[#$k"x/$w/,"/__".__ x$_)}1..++$w),
r("_|".$"x$m,$z=substr"|__"x$:,0,2*++$w),r("_|$r",$z),r("\\$r","##"x$w),"|_$r","\\__$r"