#include<iostream>
#include<cstring>
#define maxn 1000010
using namespace std;
char s[maxn];
int f[maxn],mxans=-9999,t,flag;
int main(){
memset(f,0,sizeof(f));
while(cin>>s[++t]);
t--;
for(int i=1;i<=t;i++){
if(s[i]==')'||s[i]==']'){
if((s[i-1]==s[i]-1)||(s[i-1]==s[i]-2)){
f[i]=2;
if(f[i]>mxans){
mxans=f[i];
flag=i;
}
}
else if(s[i-1]==')'||s[i-1]==']'){
if(s[i-f[i-1]-1]==s[i]){
f[i]=f[i-1]+2;
if(f[i]>mxans){
mxans=f[i];
flag=i;
}
}
}
}
}
for(int i=flag-mxans;i<=flag;i++)cout<<s[i];
return 0;
}