#! /bin/sed -f

# This is an alternative approach to summing numbers,
# which works a digit at a time and hence has unlimited
# precision.  This time it is done with lookup tables,
# and uses only 10 commands.

G  
s/\n/-/
s/$/-/
s/$/;9aaaaaaaaa98aaaaaaaa87aaaaaaa76aaaaaa65aaaaa54aaaa43aaa32aa21a100/

: loop
/^--[^a]/ !{
  # Convert next digit from both terms into analog form
  # and put the two groups next to each other
  s/^\([0-9a]*\)\([0-9]\)-\([^-]*\)-\(.*;.*\2\(a*\)\2.*\)/\1-\3-\5\4/
  s/^\([^-]*\)-\([0-9a]*\)\([0-9]\)-\(.*;.*\3\(a*\)\3.*\)/\1-\2-\5\4/

  # Back to decimal, but keeping the carry in analog form
  # \2 matches an `a' if there are at least ten a's, else nothing
  #
  #    1-------------      3-    4----------------------
  #               2                          5----
  s/-\(aaaaaaaaa\(a\)\)\?\(a*\)\([0-9b]*;.*\([0-9]\)\3\5\)/-\2\5\4/
  b loop
}  
s/^--\([^;]*\);.*/\1/
h  

### colorized by sedsed, a sed script debugger/indenter/tokenizer/HTMLizer
### original script: http://pcsiwa.rett.polimi.it/~paolob/seders/scripts/add_decs.sed