#include #include using namespace std; int longest[101][101]; int n; string s; int main() { while (true) { cin >> s; if (s == "end") break; //cout << "\"" << s << "\"" << endl; n = s.length(); int l = 1; for (int i = 0; i < n; ++i) longest[i][i] = 0; for (l = 2; l <= n; ++l) for (int i = 0; (i + l) <= n; ++i) { int m = INT_MIN; if ((s[i] == '(') && (s[i + l - 1] == ')')) m = max(m, longest[i + 1][i + l - 1 - 1] + 2); if ((s[i] == '[') && (s[i + l - 1] == ']')) m = max(m, longest[i + 1][i + l - 1 - 1] + 2); for (int j = 1; j < l; ++j) m = max(m, longest[i][i + j - 1] + longest[i + j][i + l - 1]); longest[i][i + l - 1] = m; } cout << longest[0][n - 1] << endl; } return 0; }