$_=<>; push@_,$1<$2?$1..$2:reverse$2..$1 while/(?=(.)(.))/g; $_=join '',@_; print s/(.)\1+/$1x~-length$&/ger