include<stack>
#include<string>
#include<iostream>
using namespace std;
string s,b;//先定义了字符串,会RE
stack<int>q;
int main()
{
cin>>s;
int l=s.size();
for(int i=0;i<l;i++)
{
if(s[i]=='(')
{
q.push(i);
b[i]=')';
}
if(s[i]=='[')
{
q.push(i);
b[i]=']';
}
if(s[i]==')' or s[i]==']')
if(q.empty() or b[q.top()]!=s[i])
if(s[i]==')')
b[i]='(';
else
b[i]='[';
else b[q.top()]=' ',q.pop();
}
for(int i=0;i<l;i++)
{
if(b[i]=='('||b[i]=='[')
cout<<b[i];
cout<<s[i];
if(b[i]==')'||b[i]==']')
cout<<b[i];
}
cout<<endl;
}