sort { $a->[1] <=> $b->[1] } map { $arr[$_] >= 0 ? [ $_, max_prime_factor($arr[$_]) ] : () } 0 .. $#arr