#P1532. Mixed Numbers

Mixed Numbers

Description

A mixed fraction is defined recursively as follows:

    <li>A real value is a simple mixed fraction. For simplicity, we only consider one digit positive integer numbers greater than zero (digits 1 ... 9).</li>

    <li>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,</li>

    b

    a- is a mixed fraction which is equal to a + b/c

    c

    <li>Sum of a number of mixed fractions is also a mixed fraction.</li>

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

      <li>A simple mixed fraction can be drawn using one digit character.</li>

      <li>

      b

      The mixed fraction a- will be drawn using a digit showing a , and a horizontal line that starts

      c

      </li>

      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.

      <li>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.</li>

      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