<>;<>; @XY=map[glob],<>; $a[$_]=++$i for@{pop@XY}; for$i(1..$#a){ $t=$a[$i]; $t==@$_[0]?++$t:$t==@$_[1]&&--$t for@XY,@xy; if($t<$i){ push@xy,map[$_,$_+1],$t..$i-1 }elsif($i<$t){ push@xy,map[-$_,-$_+1],-$t+1..-$i } } print@xy.$/,map"@$_\n",@xy