#include<bits/stdc++.h>
using namespace std;

string upper(string s){
	int i;
	for(i = 0;i < s.size();i++){
		if(s.at(i) >= 'a' && s.at(i) <= 'z'){
			s[i] = s[i] - 32;
		}
	}
	
	return s;
}

int main(){
     string s,r,t;
     int i;
     getline(cin,s);
     bool f = true;//代表处于正常拷贝状态 
      
     //循环将s中有效的内容放入r中
	 for(i = 0;i < s.size();i++){
	 	 if(s[i] == '('){
	 		f = false;//开始拷贝缩写 
	 		t = "";//t用来放缩写,先初始化为空的 
	 		continue;//开始的(不拷贝 
		 }else if(s[i] == ')'){
		 	f = true;//缩写结束 
		 	t = upper(t);
		 	r = r + t;
		 	continue;//结束的)不拷贝 
		 } 
		 
		 //如果是正常状态 
		 if(f == true){
		 	r = r + s[i];
		 }else{
		 	 //首字母 
		 	 if(s[i - 1] == ' ' || s[i - 1] == '('){
		 	      t = t + s[i];	
			 }  
		 }
	 } 
	 
	 cout<<r<<endl; 
}

/**************************************************************
	Problem: 1278
	User: admin
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2080 kb
****************************************************************/