##
my @p = sort { $x[$a] cmp $x[$b] } 0 .. @x-1;
####
my $d = 0; my @s;
for my $s (0 .. @p - 1) {
if ($s[$s]) { $d++; }
for (my $t = $s; !$s[$t]++; $t = $p[$t]) {}
}
if (0 != $d%2)
{ say "odd" } else { say "even" }
####
use File::Temp "tempfile";
my($T, $N) = tempfile("perm-XXXXXXXX", UNLINK => 1);
say $T "SignPerm(PermList(1+[", join(",", @p), "]));\n";
close $T or die;
my $s = qx"gap -q <$N";
if (1 == $s) { say "even" } elsif (-1 == $s) { say "odd" } else { die }