Under construction

Still being built. Things may change

Beer Bill

Interview

Time limit2sMemory limit512 MB

Summary
Parse each bill line as either an item price with optional bars or a bars-only rake line, then print the total (beer at 42) rounded up to a multiple of 10 in the N,- format.
Level

Easy3 of 10

Topics
Implementation, String, Math, Simulation
Solved
No attempts yet

Problem

Pub bills entered daily life long before computers existed. People tend to think that once a bill has been paid, it is no more than a pathetic paper scrap not worthy of any more attention. What established computer science streams have completely overlooked is that the scribblings on the bill are highly formalized and often quite nontrivial text suitable for many formal language applications and analyses.

A bill consists of lines of characters. Each line is either a priced line or a rake line. A priced line begins with a positive integer, the price of a food or drink item, which is optionally followed by some number of vertical bars. The price of the line is calculated as follows. If the bars are present, the price of the line is the item price multiplied by the number of bars. Otherwise, the price of the line is the price of the item. A rake line contains only vertical bars (similar to rake dents, hence the name rake line), and each bar stands for one beer bought by the bill holder. The price of the rake line is the price of one beer multiplied by the number of bars on the line. The beer price, in this problem, is 42 monetary units. The bill total is the total of the prices of all lines on the bill.

We present a formal definition of the so-called Raked bill language, as far as we know the first of its kind in the whole history of computer science. The bills in this problem are expressed in the Raked bill language.

<BILL>        ::=  <LINE> | <LINE><BILL>
<LINE>        ::=  <PRICED_LINE><line_break> | <RAKE_LINE><line_break>
<PRICED_LINE> ::=  <PRICE_SPEC> | <PRICE_SPEC><RAKE>
<RAKE_LINE>   ::=  <RAKE>
<PRICE_SPEC>  ::=  <PUB_INTEGER><comma><hyphen>
<RAKE>        ::=  <rake_dent> | <rake_dent><RAKE>
<PUB_INTEGER> ::=  <dig_1_9> | <dig_1_9><DIG_SEQ>
<DIG_SEQ>     ::=  <dig_0_9> | <dig_0_9><DIG_SEQ>
<dig_1_9>     ::=  '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9'
<dig_0_9>     ::=  '0' | <dig_1_9>
<rake_dent>   ::=  '|' // ascii character 124
<comma>       ::=  ',' // ascii character 44
<hyphen>      ::=  '-' // ascii character 45
<line_break>  ::=  LF // ascii character 10, line feed

In the language specification above, the actual characters that appear on the bill are enclosed in single quotation marks to distinguish them from the other parts of the specification. The symbol // introduces a single line comment, and it is not part of the language definition.

Input

The input contains a nonempty sequence of lines that specify a bill. Each input line is either a priced line or a rake line. A priced line starts with a positive integer not exceeding 1 000, followed immediately by a comma and a minus sign. Optionally, the minus sign is followed by a nonzero number of vertical bars. A rake line contains a nonzero number of vertical bars and no other symbols. In the whole bill, the vertical bar is represented as '|', ascii character 124. Each line contains at most 1 000 characters, and there are no blanks on the line. There are at most 1 000 input lines. The input does not contain any empty line. All prices are expressed in the same monetary units.

Output

Output a single number: the bill total rounded up to the nearest 10s. The number should be in the format, that is, it should be immediately followed by a comma and a minus sign.

Examples3

  1. Example 1

    Input
    ||||
    123,-|||
    
    Expected output
    540,-
    
  2. Example 2

    Input
    |||
    12,-|
    |||
    12,-||
    10,-|
    
    Expected output
    300,-
    
  3. Example 3

    Input
    |
    8,-|
    
    Expected output
    50,-