sub f{ my@a; /(.)(.*)(.)(.*)\3(?{$1-$3&&push@a,[$1.$3x2,"$`$2$4$'"]})^/ for@_; my$s=0; $s+=$-=$$_[0]+f($$_[1])-$s for@a; $s; } print f<>