#include<iostream>
#include<vector>
#include<regex>
#include<numeric>
#include<sstream>
using namespace std;
vector<string> getData()
{
string inPutStr;
getline(cin,inPutStr);
vector<string> vec;
istringstream iss(regex_replace(inPutStr, regex(" ")," "));
string tempStr;
while (iss >> tempStr){
vec.push_back(tempStr);
}
return vec;
}
int main()
{
vector<string> inVec = getData();
vector<int> scoreVec;
for (int i = 0; i < inVec.size(); i++) {
string s = inVec[i];
if (s == "+") {
if (i < 2) {
return -1;
}
scoreVec.push_back(scoreVec[scoreVec.size()-1] + scoreVec[scoreVec.size() - 2]);
} else if (s == "D"){
scoreVec.push_back(scoreVec[scoreVec.size() - 1] * 2);
} else if (s == "C") {
scoreVec.pop_back();
} else {
scoreVec.push_back(stoi(s));
}
}
cout << accumulate(scoreVec.begin(), scoreVec.end(), 0) << endl;
}