const { isNumberObject } = require("util/types");
const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void (async function () {
const val = (await readline()).split(" ");
let res = 0;
const numStack = [];
for (let i = 0; i < val.length; i++) {
const c = val[i];
if (!isNaN(Number(c))) {
numStack.push(Number(c));
} else if (c == "C") {
numStack.pop();
} else if (c == "D") {
const num = numStack[numStack.length - 1];
numStack.push(num * 2);
} else if (c == "+") {
const num1 = numStack[numStack.length - 1];
const num2 = numStack[numStack.length - 2];
numStack.push(num1 + num2);
}
}
for (let i = 0; i < numStack.length; i++) {
res += numStack[i];
}
console.log(res);
})();