$i='1 '.join(' ',unpack('C'x length($ARGV[0]),$ARGV[0])) ;for (1..length($ARGV[0])){{$_=$i,s\.+? \\,split,($l,$i) ='';$i.=' '.($t=$_-$l),$l=$_ for(@_)}$i=~s/^ //,$o.=$i, $o=~s\ .*\+\;}$_=$o,$_='1+'.join('+',reverse(split(/\++/ ,$_))),s/\+-/-/g;print