// Символы во входном потоке следует вводить через пробел.
import java.util.*;
import java.lang.*;
import java.io.*;

class Ideone{
	public static void main (String[] args) throws java.lang.Exception{
		try{
			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
			String line;
			String a1="";
			Stack<String> st = new Stack();
			Stack<String> st2 = new Stack();
			while( (line = reader.readLine()) != null){
				String[] a = line.split(" ");
				for(int i = 0 ; i < a.length ; i++){
					if(!a[i].equals("+") && !a[i].equals("-") && !a[i].equals("*") && !a[i].equals("/") && !a[i].equals("(") && !a[i].equals(")")){
						a1+=a[i];
					}
					else{
						if((a[i].equals("+") || a[i].equals("-")) && st.size()>0){
							for(int j=0; j<2;j++){
								if(st.size()>0){
									if(!st.peek().equals("(")){
										a1+=st.pop();
									}
								}
							} 
						}
						if((a[i].equals("*") || a[i].equals("/")) && st.size()>0){
							for(int j=0; j<1;j++){
								if(!st.peek().equals("(") && !st.peek().equals("+") && !st.peek().equals("-")){
									a1+=st.pop();
								}
							} 
						}
						if(a[i].equals(")") && st.size()>0){
							for(int j=0; j<=st.size()+2;j++){
								if(!st.peek().equals("(")){
									a1+=st.pop();
								}
							}
							if(st.size()!=0){
								for(int j=0; j<2;j++){
									if(j==0 || (j==1 && ( a[i].equals("*") || a[i].equals("/")))){
					    			a1+=st.pop();}
								}
							}
						}
						st.push(a[i]);
					}
			}
			for(int i = 0 ; i <= st.size() ; i++){
				a1+=st.pop();
			}
			for(int i = 0 ; i < a1.length() ; i++){
				if(a1.charAt(i)!='(' && a1.charAt(i)!=')')
					System.out.print(a1.charAt(i)+" ");
				}
			}
		}catch(IOException ex){
			System.err.println("Eror");
		}
	}
}   // Символы во входном потоке следует вводить через пробел.