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