#include<bits/stdc++.h>
using namespace std;
struct man
{
char b;
int flag,num;
};
stack<int> a;
int main()
{
string s;
cin>>s;
int S=s.size();
man sta[S+1000];
for(int i=0;i<S;i++)
{
sta[i+1].b=s[i];
sta[i+1].flag=0;
sta[i+1].num=i;
}
for(int i=1;i<=S;i++)
{
if(sta[i].b=='('||sta[i].b=='[') a.push(sta[i].b);
else
{
if(sta[i].b==a.top())
{
sta[i].flag=1;
sta[i-1].flag=1;
}
}
}
for(int i=1;i<=S;i++)
{
if(sta[i].flag==1) cout<<sta[i].b;
else
{
if(sta[i].b=='('||sta[i].b==')') cout<<"()";
else if(sta[i].b=='['||sta[i].b==']') cout<<"[]";
}
}
return 0;
}