reduce { var %i 2,%s,%r,%d 1 while $asc($mid($1,$({,%i))) { %t = $asc($mid($1,%i)) - $v1 if %t = %s && $pos(1-1,%t) { if (%d) %r = %r $+ - %d = } else { %r = %r $+ $mid($1,$({,%i),1) %d = 1 %s = %t } inc %i } return %r }