Expressões matemáticas 2

Usualmente, estamos acostumados a ver expressões matemáticas. Uma expressão matemática é um arranjo de termos que seguem o seguinte padrão

operando operador operando

sendo o operador algum dos operadores matemáticos, por exemplo, +, -, * e /, e o operando um número ou outro termo do mesmo formato. Por exemplo,

A+B

e

(A+B)*C

são exemplos de expressões matemáticas.

Essa forma de organizar uma expressão matemática se chama notação infixa. Todavia, existe uma outra forma de representar, que é a notação pós-fixa, também chamada de polonesa reversa. Nessa notação, o operador vem depois dos operandos

operando operando operador

Nos exemplos acima, teríamos

AB+

e

AB+C*

Embora à primeira vista pareça muito mais complicada, do ponto de vista computacional ela é muito mais fácil de ser avaliada que a notação infixa, pois, entre outros fatores,

Tarefa

Sua tarefa é, dada uma expressão matemática na notação infixa, convertê-la para a notação pós-fixa. Note que a expressão deve estar corretamente parentizada, caso não esteja, você deve exibir na saída padrão a mensagem “incorretamente parentizada”.

Entrada

A entrada é composta por uma única linha, contendo uma expressão matemática na notação infixa com, no máximo, 500 caracteres. A expressão matemática contém apenas

A expressão de entrada não contém espaços em branco.

Saída

A saída é composta de uma única linha contendo a expressão dada em notação pós-fixa.

Exemplo de Entrada 1

A+B

Exemplo de Saída 1

AB+

Exemplo de Entrada 2

(A+B)/C

Exemplo de Saída 2

AB+C/

Exemplo de Entrada 3

A+B/C

Exemplo de Saída 3

ABC/+

Exemplo de Entrada 4

A+B*(C-D*(E-F)-G*H)-I*K

Exemplo de Saída 4

ABCDEF-*-GH*-*+IK*-

Exemplo de Entrada 5

A+B*(C-D*(E-F)-G*H-I*K

Exemplo de Saída 5

incorretamente parentizada