#include
using namespace std;
#define INF INT_MAX
#define LINF LLONG_MAX
#define forin(data) for(auto &i : data)
#define debug(x) cerr << #x << " = " << x << endl;
using ll = long long;
using pi = pair;
using vi = vector;
using vii = vector;
using vl = vector;
void init(){
#ifdef LOCAL
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
freopen("log.txt", "w", stderr);
#else
cin.tie(0); cout.tie(0);
ios_base::sync_with_stdio(0);
#endif
}
int toInt(char i){
return (i - '0');
}
void append(string &str, int n, char c){
for(int i = 0; i < n; i++){
str += c;
}
cout << str << endl;
}
int main(){
init()
int tc;
cin >> tc;
for(int i = 1; i <= tc; i++){
string str;
cin >> str;
string ans = "";
if(str.size() == 1){
append(ans, toInt(str[0]), '(');
ans += str[0];
append(ans, toInt(str[0]), ')');
}else{
int left, right, brac;
left = right = brac = 0;
for(int j = 0; j < str.size(); j++){
if(j == 0){
left = toInt(str[j]);
right = toInt(str[j]) - toInt(str[j + 1]);
}else if(j == str.size() - 1){
left = toInt(str[j]) - toInt(str[j - 1]);
if(left > 0){
append(ans, left, '(');
brac += left;
}
right = brac;
ans += str[j];
append(ans, right, ')');
break;
}else{
left = toInt(str[j]) - toInt(str[j - 1]);
right = toInt(str[j]) - toInt(str[j + 1]);
}
if(left > 0){
append(ans, left, '(');
brac += left;
}
ans += str[j];
if(right >= 0){
append(ans, right, ')');
brac -= right;
}
}
}
cout << "Case #" << i << ": " << ans << endl;
}
return 0;
}