#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
****************************************************************/