reduce { %d = %s = %i = 1 while $mid($1,%i,1) { inc %i var %x $asc($v1),%y $asc($mid($1,%i,1)),%z %s - %x if $calc(1+%x) = %y || ($2 && $calc(1+%y) = %x && %y != %s) { if (!%s) %s = %x } else { %d = $+(%d,$chr(%s),$iif($abs(%z) > 1,-),$chr(%x)) %s = } } if (!$2) r return %d } r reduce %d 1