ONP - Transform the Expression

Transform the algebraic expression with brackets into RPN form (Reverse Polish Notation). Two-argument operators: +, -, *, /, ^ (priority from the lowest to the highest), brackets ( ). Operands: only letters: a,b,...,z. Assume that there is only one RPN form (no expressions like a*b*c).

Input

t [the number of expressions <= 100]
expression [length <= 400]
[other expressions]

Text grouped in [ ] does not appear in the input file.

Output

The expressions in RPN form, one per line.

Example

Input:
3
(a+(b*c))
((a+b)*(z+x))
((a+t)*((b+(a+c))^(c+d)))

Output:
abc*+
ab+zx+*
at+bac++cd+^*

Added by:mima
Date:2004-05-01
Time limit:5s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:All except: NODEJS PERL6 VB.NET
Resource:-

hide comments
2016-08-13 18:15:49
test cases do not check for cases like a^b+c
2016-08-10 20:42:24
Please only solve using stack if coding in java c or c++ , DO NOT TRY STRING AND STRINGBUFFERS made it more complicated.
find a RPN stack algo and implement it.
At last I did it gives me happiness.
2016-08-08 15:04:09
AC on one go :)
2016-08-02 21:05:29
No need for a stack, although it's the best way. Take in count the operations listed, because the test cases don't include all of them. Cost me one WA.
2016-07-26 20:15:56
phew:):)

2016-07-13 09:48:07 Ashvjit Singh
if anyone is having any problem, I suggest you study about RPN.
Very simple question with poor description.
2016-07-11 07:09:33
Good for learning stack...
2016-06-18 19:17:41
Stack 101 AC in one go!!
2016-06-16 23:44:51
as easy as stack can be :-P ....basic prob no issues !! already had the code :-) AC :-)
2016-06-11 09:14:55 candide
Easy and classical question, no trap. After multiple tries, AC in Python in 0.00s (observe that left parenthesis are useless). Problem description is unclear.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.