#include <bits/stdc++.h>
using namespace std;
string s;
int c[110];
int isok(int x){
if(c[x]){
return c[x];
}
if(s[x]=='('){
for(int i=x+1;i<s.size();i++){
if((s[i]==')'||s[i]==']')&&c[i]==0){
if(s[i]==')'){
c[i]=1;
c[x]=1;
return 1;
}
}
}
}
if(s[x]=='['){
for(int i=x+1;i<s.size();i++){
if((s[i]==')'||s[i]==']')&&c[i]==0){
if(s[i]==']'){
c[i]=1;
c[x]=1;
return 1;
}
}
}
}
if(s[x]==')'){
for(int i=x-1;i>=0;i--){
if((s[i]=='('||s[i]=='[')&&c[i]==0){
if(s[i]=='('){
c[i]=1;
c[x]=1;
return 1;
}
}
}
}
if(s[x]==']'){
for(int i=x-1;i>=0;i--){
if((s[i]=='('||s[i]=='[')&&c[i]==0){
if(s[i]=='['){
c[i]=1;
c[x]=1;
return 1;
}
}
}
}
c[x]=2;
return 2;
}
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
isok(i);
}
for(int i=0;i<s.size();i++){
if(s[i]=='('){
if(c[i]==1){
cout<<'(';
}else{
cout<<"()";
}
}
if(s[i]=='['){
if(c[i]==1){
cout<<'[';
}else{
cout<<"[]";
}
}
if(s[i]==')'){
if(c[i]==1){
cout<<')';
}else{
cout<<"()";
}
}
if(s[i]==']'){
if(c[i]==1){
cout<<']';
}else{
cout<<"[]";
}
}
}
}