rendered paste body#include<iostream>
#include<string>
using namespace std;
char array[40000];
int minus_table[900],minus_count=-1;
int top=-1,len,j=0,flag=0;
bool number_displayed;
unsigned long int c=0;
void minus_display()
{
if((minus_count>=0)&&(minus_table[minus_count]!=-1))
{
for(int i=0;i<minus_table[minus_count];i++)
cout<<" n ";
minus_count--;
}
}
int main()
{
char *input=new char[40000];
while(cin>>input[c++])
len=strlen(input);
while(j<len)
{
number_displayed=false;
while((input[j]>='0')&&(input[j]<='9'))
{
cout<<input[j];
number_displayed=true;
j++;
}
cout<<" ";
if((number_displayed==true))
minus_display();
else if((input[j]=='-')&&((input[j-1]=='+')||(input[j-1]=='-')||(input[j-1]=='/')||(input[j-1]=='*')||(input[j-1]=='(')||j==0))
{
if((minus_table[minus_count]!=-1)&&(minus_count>=0))
minus_table[minus_count]+=1;
else
minus_table[++minus_count]=1;
j++;
}
else if((input[j]=='-')||(input[j]=='+'))
{
while((array[top]!='(')&&(top>=0))
cout<<array[top--]<<" ";
array[++top]=input[j++];
}
else if(input[j]=='(')
{
array[++top]='(';
minus_table[++minus_count]=-1;
j++;
}
else if((input[j]=='*')||(input[j]=='/'))
{
while(((array[top]=='*')||(array[top]=='/'))&&(top>=0))
cout<<array[top--]<<" ";
array[++top]=input[j++];
}
else if(input[j]==')')
{
while((array[top]!='(')&&(top>=0))
cout<<array[top--]<<" ";
top--;
j++;
minus_count--;
minus_display();
}
else
j++;
}
while(top>=0)
cout<<array[top--]<<" ";
return 0;
}