#include<stdio.h>
#include<stdlib.h>
typedef struct BiTNode
{
char date[4];
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
int creB(BiTree &Q)
{
Q=new BiTNode;
if(~scanf("%s",Q->date)&&Q->date[0]!='#')
{
if(Q->date[0]=='#')
Q=NULL;
else
{
creB(Q->lchild);
creB(Q->rchild);
}
return 1;
}
Q=NULL;
return -1;
}
void priB(BiTree Q)
{
if(Q==NULL)
return;
if(Q->date[0]=='/'||Q->date[0]=='*'||Q->date[0]=='-'||Q->date[0]=='+')
{
printf("(");
priB(Q->lchild);
printf("%s",Q->date);
priB(Q->rchild);
printf(")");
}
else
printf("%s",Q->date);
}
int main()
{
BiTree Q;
while(creB(Q)==1)
{
priB(Q);
printf("\n");
}
return 0;
}