##
sub bzr (@) {
my @a = 0..$#_;
my $i = @_;
my $n;
map +($_[$a[$n=rand($i--)]], $a[$n]=$a[$i])[0], @_;
}
####
my $x = $l[$r];
$l[$r] = $l[$_];
$l[$_] = $x;
####
sub naive2 (@) {
my @l=@_;
my @l2;
for (reverse 0..$#l) {
my $r=int rand($_+1);
push @l2, $l[$r];
$l[$r] = $l[$_];
}
@l2;
}