#include<bits/stdc++.h>
using namespace std;
string s;
int k;
int v[1100];
int v_left[1100];
int top;
int left_top;
void insert(int x,char a){
s=s.substr(0,x)+a+s.substr(x,s.size()-x);
return;
}
void f(int x){
if(s[x]=='(')k++,insert(x+1,')');
if(s[x]==')')k++,insert(x,'(');
if(s[x]=='[')k++,insert(x+1,']');
if(s[x]==']')k++,insert(x,'[');
return;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>s;
s='S'+s;
for(int i=1;i<s.size();i++){
if(s[i]=='(' || s[i]=='[')v_left[++left_top]=i;
if(s[i]==')'){
if(s[v_left[left_top]]=='(')left_top--;
else v[++top]=i;
}
if(s[i]==']'){
if(s[v_left[left_top]]=='[')left_top--;
else v[++top]=i;
}
}
if(top==0){
cout<<s.substr(1,s.size()-1);
}else{
for(int i=1;i<=left_top;i++){
v[++top]=v_left[i];
}
sort(v+1,v+1+top);
for(int i=1;i<=top;i++){
f(v[i]+k);
}
cout<<s.substr(1,s.size()-1);
}
return 0;
}