#include <bits/stdc++.h>
using namespace std;
stack<int> st;
int dp[100005];
int main() {
  string s;
  cin >> s;
  int len, l, r, ans = 0, x, i;
  len = s.length();
  l = -1;
  r = -1;
  for (i = 0; i < len; i++) {
    if (s[i] == '[') dp[i] = 1;
    if (i > 0) dp[i] += dp[i - 1];
  }
  st.push(-1);
  for (i = 0; i < len; i++) {
    if (s[i] == '(' || s[i] == '[') {
      st.push(i);
    } else {
      if (st.empty()) {
        st.push(i);
      } else {
        if ((s[i] == ')' && s[st.top()] == '(') ||
            (s[i] == ']' && s[st.top()] == '[')) {
          st.pop();
          x = dp[i];
          if (st.top() >= 0) x -= dp[st.top()];
          if (x > ans) {
            ans = x;
            l = st.top() + 1;
            r = i;
          }
        } else {
          st.pop();
          st.push(i);
        }
      }
    }
  }
  if (l == -1 && r == -1)
    cout << "0\n\n";
  else {
    cout << ans << "\n";
    for (i = l; i <= r; i++) {
      cout << s[i];
    }
  }
  return 0;
}
