($,,@,)=@_;@$=sort$,=~/\w/g;*b=sub{my($n,$k,$t)=@_;$@[$t]=$k;($n-=$k)>0?map b($n,0-$_,$t+1),($k<$n?-$k:-$n)..-1:(@%=@,[@@[1..$t]]),NestedLoops([map{$a=$_;[grep$$a[$_]!~/[^$,]/,0..$#$a]}@%],sub{@:=sort map$%[$_][pop],1-@%..0;$.[@.]="@:"if!$_{"@:"}++&&"@{[sort map/./g,@:]}"eq"@$"})};b(2*@$,1*@$);@.