#!/usr/bin/perl

use strict;

my @vals = @ARGV;
my $swaps = 0;

sub swap
{
    my ($arr, $i, $j) = @_;

    my $tmp = $arr->[$i];
    $arr->[$i] = $arr->[$j];
    $arr->[$j] = $tmp;

    $swaps++;
}

sub min
{
    my ($arr, $start) = @_;
    my @arr = @$arr;
    my ($i, $m) = ($start, $start);

    for (; $i <= $#arr; $i++) {
	$m = $i if ($arr[$i] < $arr[$m]);
    }
    return $m;
}

my $i;
for ($i = 0; $i < $#vals; $i++) {
    my $m = min(\@vals, $i);
    next if ($i == $m);
	join(" ", @vals) ."\n";
    swap(\@vals, $i, $m);
}

#print join(" ", @vals)."\n";
print "Swaps: $swaps, Signum: ".(int($swaps/2)==($swaps/2) ? 1 :-1)."\n";
