#!/usr/bin/perl
use strict;
use warnings;
#use feature qw(switch);
#print "Test";
my @expression;
my $result;
@expression = split(' ', <>); $result = simplify(@expression);
if ($result eq "ERROR") {print "ERROR\n"} else {printf("%.4f", simplify
(@expression))}
sub simplify {
my @exprs = @_;
my $oper = -1;
for (my $index = 0; $index <= $#exprs && $oper == -1; $index++) {
$oper = $index if
($exprs[$index] eq "+" ||
$exprs[$index] eq "-" ||
$exprs[$index] eq "*" ||
$exprs[$index] eq "/");
}
if ($oper == -1 || $oper == 0 || $oper == 1) {return "ERROR"};
my @newExpression;
for (my $i = 0; $i < $oper - 2; $i++) {
push @newExpression, $exprs[$i]; }
push @newExpression, ($exprs[$oper - 2] + $exprs[$oper - 1]) if($exprs[$oper] eq "+"); push @newExpression, ($exprs[$oper - 2] - $exprs[$oper - 1]) if($exprs[$oper] eq "-"); push @newExpression, ($exprs[$oper - 2] * $exprs[$oper - 1]) if($exprs[$oper] eq "*"); push @newExpression, ($exprs[$oper - 2] / $exprs[$oper - 1]) if($exprs[$oper] eq "/");
for (my $k = $oper + 1; $k <= $#exprs; $k++) {
push @newExpression, $exprs[$k]; }
if ($#newExpression > 0) {return simplify
(@newExpression)}; }
IyEvdXNyL2Jpbi9wZXJsCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKI3VzZSBmZWF0dXJlIHF3KHN3aXRjaCk7CgojcHJpbnQgIlRlc3QiOwpteSBAZXhwcmVzc2lvbjsgCm15ICRyZXN1bHQ7CiAgICBAZXhwcmVzc2lvbiA9IHNwbGl0KCcgJywgPD4pOwogICAgJHJlc3VsdCAgPSBzaW1wbGlmeShAZXhwcmVzc2lvbik7CiAgICBpZiAoJHJlc3VsdCBlcSAiRVJST1IiKSB7cHJpbnQgIkVSUk9SXG4ifQogICAgZWxzZSB7cHJpbnRmKCIlLjRmIiwgc2ltcGxpZnkoQGV4cHJlc3Npb24pKX0KICAgIHByaW50ICJcbiI7CgpzdWIgc2ltcGxpZnkgewogICAgbXkgQGV4cHJzID0gQF87CiAgICAKICAgIG15ICRvcGVyID0gLTE7CiAgICBmb3IgKG15ICRpbmRleCA9IDA7ICRpbmRleCA8PSAkI2V4cHJzICYmICRvcGVyID09IC0xOyAkaW5kZXgrKykgewoJJG9wZXIgPSAkaW5kZXggaWYKCSAgICAoJGV4cHJzWyRpbmRleF0gZXEgIisiIHx8CgkgICAgICRleHByc1skaW5kZXhdIGVxICItIiB8fAoJICAgICAkZXhwcnNbJGluZGV4XSBlcSAiKiIgfHwKCSAgICAgJGV4cHJzWyRpbmRleF0gZXEgIi8iKTsKICAgIH0KCiAgICBpZiAoJG9wZXIgPT0gLTEgfHwgJG9wZXIgPT0gMCB8fCAkb3BlciA9PSAxKSB7cmV0dXJuICJFUlJPUiJ9OwoKICAgIG15IEBuZXdFeHByZXNzaW9uOwoKICAgIGZvciAobXkgJGkgPSAwOyAkaSA8ICRvcGVyIC0gMjsgJGkrKykgewoJcHVzaCBAbmV3RXhwcmVzc2lvbiwgJGV4cHJzWyRpXTsKICAgIH0KCiAgICBwdXNoIEBuZXdFeHByZXNzaW9uLCAoJGV4cHJzWyRvcGVyIC0gMl0gKyAkZXhwcnNbJG9wZXIgLSAxXSkgaWYoJGV4cHJzWyRvcGVyXSBlcSAiKyIpOwogICAgcHVzaCBAbmV3RXhwcmVzc2lvbiwgKCRleHByc1skb3BlciAtIDJdIC0gJGV4cHJzWyRvcGVyIC0gMV0pIGlmKCRleHByc1skb3Blcl0gZXEgIi0iKTsKICAgIHB1c2ggQG5ld0V4cHJlc3Npb24sICgkZXhwcnNbJG9wZXIgLSAyXSAqICRleHByc1skb3BlciAtIDFdKSBpZigkZXhwcnNbJG9wZXJdIGVxICIqIik7CiAgICBwdXNoIEBuZXdFeHByZXNzaW9uLCAoJGV4cHJzWyRvcGVyIC0gMl0gLyAkZXhwcnNbJG9wZXIgLSAxXSkgaWYoJGV4cHJzWyRvcGVyXSBlcSAiLyIpOwogICAgCiAgICBmb3IgKG15ICRrID0gJG9wZXIgKyAxOyAkayA8PSAkI2V4cHJzOyAkaysrKSB7CglwdXNoIEBuZXdFeHByZXNzaW9uLCAkZXhwcnNbJGtdOwogICAgfQoKICAgIGlmICgkI25ld0V4cHJlc3Npb24gPiAwKSB7cmV0dXJuIHNpbXBsaWZ5IChAbmV3RXhwcmVzc2lvbil9OwogICAgcmV0dXJuIEBuZXdFeHByZXNzaW9uOwp9Cg==