#include<iostream>
#include<cstdio>
#include<stack>
#include<cstring>
using namespace std;
const int maxn=114154;
int next1[maxn],cur=0;
int k[maxn];
int main(){
string n;
while(cin>>n){
int cnt=0;
memset(k,0,sizeof(k));
int Fir=0,len=n.length(),lst=maxn,cur,TeMP=1;
for(int i=0;i<n.length();i++){
if(n[i]=='['||n[i]==']'){
len--;continue;
}
if(n[i-1]=='['){
TeMP=1;
Fir=i;
cnt++;
k[cnt]=i;
}
if(n[i-1]==']'){
TeMP=2;
next1[lst]=i;
}
if(n[i+1]=='['||n[i+1]==']'){
if(lst==maxn)
lst=i;
if(TeMP==2)
lst=i;
if(cnt-1>=0){
next1[i]=k[cnt-1];
continue;}
}
next1[i]=i+1;
}
if(n[n.length()-1]!='['||n[n.length()-1]!=']'){
next1[n.length()-1]=k[cnt-1];
}
while(n[Fir]=='['||n[Fir]==']'){
Fir++;
}
cur=Fir;
while(len--){
if(n[cur]==' ')
continue;
cout<<n[cur];cur=next1[cur];
}
cout<<endl;
}
return 0;
}