#include <bits/stdc++.h>
using namespace std;
string s;
pair<int, int>stk[100005];
int top;
signed main () {
cin >> s;
int len = s.size();
s = " " + s;
int ans = 1;
int l = 1, r = 1;
for (int i = 1; i <= len; i ++ ) {
if (s[i] == '(')
stk[++ top] = make_pair(1, i);
else if (s[i] == '[')
stk[++ top] = make_pair(2, i);
else if(s[i] == '{')
stk[++ top] = make_pair(3, i);
else if (s[i] == ')') {
if (stk[top].first == 1) {
if (stk[top].second == r + 1){
r = i;
ans = r - l + 1;
}
else if (i - stk[top].second + 1 > ans) {
ans = i - stk[top].second + 1;
l = stk[top].second;
r = i;
}
top --;
}else {
top = 0;
}
} else if (s[i] == ']') {
if (stk[top].first == 2) {
if (stk[top].second == r + 1){
r = i;
ans = r - l + 1;
}
else if (i - stk[top].second + 1 > ans) {
ans = i - stk[top].second + 1;
l = stk[top].second;
r = i;
}
top --;
}else {
top = 0;
}
} else if (stk[top].first == 3) {
if (stk[top].second == r + 1){
r = i;
ans = r - l + 1;
}
else if (i - stk[top].second + 1 > ans) {
ans = i - stk[top].second + 1;
l = stk[top].second;
r = i;
} top --;
}else {
top = 0;
}
}
for (int i = l; i <= r; i ++)cout << s[i];
return 0;
}