#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: wangyichen2
	Language: C++
	Result: Accepted
	Time:8 ms
	Memory:2080 kb
****************************************************************/