#P1532. Mixed Numbers

Mixed Numbers

Description

A mixed fraction is defined recursively as follows:


  • A real value is a simple mixed fraction. For simplicity, we only consider one digit positive integer numbers greater than zero (digits 1 ... 9).
  • If a is a real value (which is again assumed as an integer between 1 and 9), and b and c are two mixed fractions,
     b
    
    a- is a mixed fraction which is equal to a + b/c
    c

  • Sum of a number of mixed fractions is also a mixed fraction.

One can draw a view of a mixed fraction using ASCII characters as described below:

  • A simple mixed fraction can be drawn using one digit character.
  •                      b
    
    The mixed fraction a- will be drawn using a digit showing a , and a horizontal line that starts
    c

    immediately after the letter representing a (in the same row) using '-' characters. b and c are drawn recursively above and below the horizontal line respectively, such that their figures do not exceed the line from left nor right.
  • Sum of mixed fractions is represented by drawing the mixed fractions and inserting a '+' character between each consequence pair such that the '+' character and the first character of the next and the previous mixed fractions make a horizontal line.

We want you to write a program to calculate the value of a mixed fraction from its figure.

Input

Some 90 degree clockwise rotated figures of a number of mixed fractions are given in the input file. In the first line of each rotated mixed fraction n < 300 and m < 15000 , the length and the width of the figure, are written. In the next m lines the figure i s described ('-' is replaced with '|'). Note that each line will consists of exactly n characters so any number of spaces may be used in the shape, but anyway, the shape of the figure satisfies description explained above.

The input ends with a line containing two zeroes.

Output

For each test case write its value in a separate line. Your answer must be rounded to two digits after decimal point and the output must contain exactly two digits after the decimal point.

8 6
   1    
 2 |  2 
4|2| 4|3
   |    
   +    
   1    
0 0
3.10

Source

Tehran Sharif Local Contest 2001