#include <iostream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

int main(){
  int n;
  while(cin >> n, n){
    stack<string> st;
    string e;
    int d = 0;
    for(int i = 0; i < n; ++i){
      cin >> e;
      int l = e.length();
      e = e[l-1];
      while(l < d){
	vector<int> t;
	string s = st.top();
	while(s.length() > 1 || (s >= "0" && s <= "9")){
	  t.push_back(stoi(s));
	  st.pop();
	  s = st.top();
	}
	string o = "";
	if(!st.empty()){
	  o = st.top();
	  st.pop();
	}
	if(o == ""){
	  if(t.size() > 1){
	    cout << "Error" << endl;
	  }else{
	    cout << t[0] << endl;
	  }
	}else{
	  if(o == "+"){
	    int ret = 0;
	    for(int i = 0; i < t.size(); ++i){
	      ret += t[i];
	    }
	    st.push(to_string(ret));
	    --d;
	  }else if(o == "*"){
	    int ret = 1;
	    for(int i = 0; i < t.size(); ++i){
	      ret *= t[i];
	    }
	    st.push(to_string(ret));
	    --d;
	  }
	}
      }
      st.push(e);
      d = l;
    }

    stack<int> st2;
    while(!st.empty()){
      string e = st.top();
      st.pop();
      if(e == "+"){
	int k = 0;
	while(!st2.empty()){
	  int l = st2.top();
	  k += l;
	  st2.pop();
	}
	st.push(to_string(k));
      }else if(e == "*"){
	int k = 1;
	while(!st2.empty()){
	  int l = st2.top();
	  k *= l;
	  st2.pop();
	}
	st.push(to_string(k));
      }else{
	st2.push(stoi(e));
      }
      if(st.empty()){
	cout << st2.top() << endl;
      }
    }
  }
  return 0;
}