sub f{ $p[$_]=$_-($p[$_]||$_)?f(local$_=$p[$_]):$_ } @@=1..<>; map{ ($a,$b)=sort{$n[$a]-$n[$b]||$b-$a}map f,glob; $n[$p[$a]=$b]+=$a-$b&&$n[$a]+1 }<>; print f,$/for@@