# include <algorithm>
# include <cstdio>
# include <cstring>
# include <vector>
using namespace std ;
typedef vector < int > VC ;
typedef VC :: iterator IT ;
const char *FIN = "expresie2.in", *FOU = "expresie2.out" ;
const int MAX = 100005 ;
char S[MAX] ;
int semn = 1, sol = 0, c = 0, d = 0 ;
VC B ;
inline bool cifra ( char X ) {
return ( X >= '0' && X <= '9' ) ;
}
inline void verf ( int &sum, int x, int &maxi ) {
sum < 0 ? sum = x : sum += x ;
if ( maxi < sum ) {
maxi = sum ;
}
}
int eval2 ( int &poz, VC B ) ;
int eval1 ( int &poz ) {
int semn = 1, maxi = -0x3f3f3f3, x, sum = 0 ;
for ( poz = poz + 1; S[poz] != ')'; ++poz ) {
if ( cifra ( S[poz] ) ) {
if ( !cifra ( S[poz + 1] ) ) {
x = semn * ( S[poz] - '0' ), semn = 1, ++c ;
} else {
x = semn * (( S[poz] - '0' ) * 10 + (S[poz + 1] - '0')), semn = 1, ++poz, ++c ;
}
verf ( sum, x, maxi ) ;
} else if ( S[poz] == '-' ) {
semn = - 1 ;
} else if ( S[poz] == ',' ) {
continue ;
} else if ( S[poz] == '(' ) {
x = semn * eval1 ( poz ), semn = 1, ++d, ++c ;
verf ( sum, x, maxi ) ;
} else if ( S[poz] == '[' ) {
x = semn * eval2 ( poz, B ), semn = 1, ++d, ++c ;
verf ( sum, x, maxi ) ;
}
}
return maxi ;
}
int eval2 ( int &poz, VC B ) {
int semn = 1 ;
for ( poz = poz + 1; S[poz] != ']'; ++poz ) {
if ( cifra ( S[poz] ) ) {
if ( !cifra ( S[poz + 1] ) ) {
B.push_back ( semn * ( S[poz] - '0' ) ), semn = 1 ;
} else {
B.push_back ( semn * (( S[poz] - '0' ) * 10 + (S[poz + 1] - '0')) ), semn = 1, ++poz ;
}
} else if ( S[poz] == '-' ) {
semn = - 1 ;
} else if ( S[poz] == ',' ) {
continue ;
} else if ( S[poz] == '(' ) {
B.push_back ( semn * eval1 ( poz ) ), semn = 1, ++d ;
} else if ( S[poz] == '[' ) {
VC X ;
int sl = eval2 ( poz, X ) ;
B.push_back ( semn * sl ), semn = 1, ++d ;
}
}
c += B.size () ;
IT iter = ( B.begin () + ( B.size () + 1 ) / 2 - 1 ) ;
nth_element ( B.begin (), iter, B.end () ), B.clear () ;
return *iter ;
}
int main ( void ) {
fscanf ( fopen ( FIN, "r" ) , "%s", S ) ;
for ( int i = 0, j = strlen ( S ); i < j; ++i ) {
if ( cifra ( S[i] ) ) {
if ( !cifra ( S[i + 1] ) ) {
sol += semn * ( S[i] - '0' ), semn = 1, ++c ;
} else {
sol += semn * (( S[i] - '0' ) * 10 + (S[i + 1] - '0')), semn = 1, ++c, ++i ;
}
} else if ( S[i] == ',' ) {
continue ;
} else if ( S[i] == '-' ) {
semn = - 1;
} else if ( S[i] == '(' ) {
sol += semn * eval1 ( i ), semn = 1 ;
} else if ( S[i] == '[' ) {
sol += semn * eval2 ( i, B ), semn = 1 ;
}
}
fprintf ( fopen ( FOU, "w" ), "%d\n%d\n", c - d, sol ) ;
}