#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int top,n;
string s,tmp,ans,res;
char stack_[N];
bool flag;
int main()
{
s=" ",ans=" ",res=" ";
cin>>tmp;
s+=tmp,n=s.size();
int num1=0,num2=0;
for(int i=1;i<=n;i++){
if(ans.size()>res.size()&&num1==num2&&num1!=0) res=ans;
if(s[i]=='('||s[i]=='[') stack_[++top]=s[i],ans+=s[i],num1++;
else if((s[i]==')'&&stack_[top]=='(')||(s[i]==']'&&stack_[top]=='[')) ans+=s[i],top--,num2++;
else ans=" ",top=num1=num2=0;
if(ans.size()>res.size()&&num1==num2&&num1!=0) res=ans;
}
int x=res.size();
for(int i=1;i<=x;i++) cout<<res[i];
return 0;
}