sub _{map{my$o=substr$_[0],$_,1;sub{print$o}}0..$#{[split//,$_[0]]}}$ _="a2kvrlpntieoscatek eafhshjubrp mewlq rrxjacungohtd!";;($x,$_)=/(\D \S)([^Z]+)/x;$v=join"",(map{$_->[0]}sort{$a->[1]cmp$b->[1]}map{[split //]}unpack$x x ord chop,$_),$/;$_->()for _$v