#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 3;
int d[N], b[N];
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t, i, j, n, m, l, r;
  string s;
  cin >> s;
  n = s.size();
  for (i = 0; i < n; i++) {
    if (s[i] == '[') {
      d[i + 1] = 1;
    }
  }
  for (i = 1; i <= n; i++) {
    d[i] += d[i - 1];
  }
  stack<pair<char, int>> st;
  for (i = 0; i < n; i++) {
    if (s[i] == '(' || s[i] == '[') {
      st.push({s[i], i + 1});
    } else {
      if (!st.empty()) {
        char a = (st.top().first == '(') ? ')' : ']';
        l = st.top().second;
        st.pop();
        if (a == s[i]) {
          b[l] = i - l + 2;
        } else {
          while (!st.empty()) {
            st.pop();
          }
        }
      }
    }
  }
  for (i = n; i > 0; i--) {
    b[i] += b[i + b[i]];
  }
  l = 0;
  for (i = 1; i <= n; i++) {
    r = d[i + b[i] - 1] - d[i - 1];
    if (r > l) {
      l = r;
      m = i;
    }
  }
  cout << l << "\n";
  if (l > 0) {
    for (i = m; i < m + b[m]; i++) {
      cout << s[i - 1];
    }
  }
  return 0;
}
