#include #include int best[256][256]; int pair[256][256]; int main() { char buf[256]; int i, j, k, N; for (i=0; i<256; i++) for (j=0; j<256; j++) pair[i][j] = 0; pair['('][')'] = 1; pair['['][']'] = 1; while (1) { fgets(buf, 256, stdin); buf[strlen(buf)-1] = 0; if (strcmp(buf, "end") == 0) break; N = strlen(buf); for (i=0; i best[i][i+k]) best[i][i+k] = best[i][j]+best[j+1][i+k]; } printf("%d\n", best[0][N-1]); } return 0; }