#include<bits/stdc++.h>
#define I using
#define AK namespace
#define IOI std;
#define f first
#define s second
#define pii pair<int,int>
I AK IOI
typedef long long ll;
char s[1000005];
int l,len,start,e,temp;
bool vis[1000005];
int main(){
scanf("%s",s+1);
for(int i=1;s[i]=='('||s[i]==')'||s[i]=='['||s[i]==']';i++) l++;
stack<pair<char,int> > st;
for(int i=1;i<=l;i++){
if(!st.empty()) if(st.top().f=='('&&s[i]==')'||st.top().f=='['&&s[i]==']'){
vis[i]=vis[st.top().s]=1;
st.pop();
}
if(s[i]=='('||s[i]=='[') st.push({s[i],i});
}
int left=1;
for(int i=1;i<=l;++i){
if(!vis[i]) temp=0,left=i+1;
else{
++temp;
if(temp>len) start=left,e=i,len=temp;
}
}
for(int i=start;i<=e;i++) printf("%c",s[i]);
}