#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//????????¢??°(???????????¨)
int comp(const void *a, const void *b)
{
    return *(int*)a - *(int*)b;
}

//??????????????¢??°
int check(char c) {

	 if(c=='[')
		 return 0;

	 else
		 return 1;
}

 //???????????????????????????????????¢??°
void reverse(char *Q, int N) {

	int i;
	char temp;

    if(N%2==1) { //??°???????????°????\???°??????
	for(i=0;i<(N-1)/2;i++) {
		temp=Q[N-1-i];
		Q[N-1-i]=Q[i];
		Q[i]=temp;
	}
    }

    else if(N%2==0) { //?????°?????¶??°??????
    	for(i=0;i<N/2;i++) {
    		temp=Q[N-1-i];
    		Q[N-1-i]=Q[i];
    		Q[i]=temp;
    	}
    }
}

 //????°???????????\¨??°????±?????????¢??°
int winner(char *c) {

	int W=0; //??¨??????????°???????????\¨??°???????????????
	int T[10000];//??¨???????????¨??????????????????????????????????°???????????\¨??°
	char A[10000];//???????????????????°???????????\¨??°????±??????????????????????????????°??¨???
	int A_size = 0;//A???????´???°
	int T_size = 0;//T???????´???°
	int k;//???????????¨?????°
	int a=0;//A???????´????????´?????????????????????°
	int t=0;//T???????´????????´?????????????????????°
	int  n;//?????°??????????????????????????°
	int count_P=0;//??¬??§??????????????????????????°
	int flag=0;//?????°???????????????????????°

	  for(k=strlen(c)-2;k>0;k--) { //?????????(k=strlen(c)-1)????????????']'??????????????§????????´???(k=strlen(c)-2)??????????????????

			  if(c[k]==']') { //']'?????£?????´??????????????????????´?????????°??????????????§flag????????????
				  A[a]=c[k];
				  count_P++;
				  flag=1;
				  a++;
			  }

			  else if(c[k]=='[') { //'['???????§????????´?
				  A[a]=c[k];
				  count_P--;
				  a++;
			  }

			  else if(count_P==0&&flag==0){ //??°????????£?????´?????????????????°????¨????????????????????´???¨??????????????\??????
				  n=1;
				  T[t]=0;
				 while(check(c[k])==1)  {//'['??????????????§??°???????¶?????????§????????????????????£???int???????????????????????°????????????T?????\??????
					 T[t]+=n * (c[k] - '0');
					 n=10*n;
					 k--;
				 }
				 T[t]=(T[t]+1)/2; //????´?????????°??????????????°????±???????
				 t++;
			  }

			  else {
				  A[a]=c[k]; //??°?????????flag????????£???????????´??????????????????????´?????????°??????????????§???
				  a++;
			  }

			  if(count_P==0&&flag) { //?????°?????????
				  A_size=a;
				  reverse(A,A_size);//A??????????´?????????????????´?????????????????????§????????????
				 T[t]=winner(A); //?????¨??????????????????????????????????°?????????°????±???????
				 memset(A,'\0',10000);//A????????????
				 a=0;
				 t++;
				 flag=0;
			  }
     }

	  //T?????????????????????????????°???????´???????????????§???????????????????°??????????????????????????????°??????????????????

	 T_size=t;
	 qsort(T,T_size,sizeof(int), comp); //??????????????????

	  for(k=0;k<(T_size+1)/2;k++) {
		  W+=T[k]; //???????±???????
	  }

	return W; //??????
}

//???????????¢??°
int main(void) {

	int *Answer; //??????????´???¨??????
	int L; //??\????????°
	char c[10000]; //??\????????????
    int i; //???????????¨?????°

	scanf("%d", &L); //??\????????°??????

	Answer = (int *)malloc(L * sizeof(int)); //??????????´???¨??????????????¢????¢????

	for(i=0;i<L;i++) {
		  scanf("%10000s",c); //??????????????\???
		  Answer[i] = winner(c); //?????????????´?
	}

	for(i=0;i<L;i++)
		 printf("%d\n",Answer[i]); //???????????????

	free(Answer); //?????¢????§£???

	return 0;
}