#include <bits/stdc++.h>
using namespace std;
string str;
string result = "";
double resNumber;
string toStr(int number);
int main() {
  int ii, jj;
  string cur = "";
  double curNumber, fract;
  ios::sync_with_stdio(false);
  cin >> str;
  str += "a";
  for (ii = 0; ii < str.size(); ii++) {
    if (str[ii] < 'A')
      cur += str[ii];
    else if ((str != ".") && (cur != "")) {
      fract = 0;
      curNumber = 0;
      if ((cur.size() > 3) && (cur[cur.size() - 3] == '.')) {
        fract = (cur[cur.size() - 1] - '0') / 100.0;
        fract += (cur[cur.size() - 2] - '0') / 10.0;
        cur.erase((cur.size() - 3), 3);
      }
      for (jj = 0; jj < cur.size(); jj++) {
        if (cur[jj] != '.') curNumber = curNumber * 10 + (cur[jj] - '0');
      }
      resNumber += curNumber + fract + 0.0000001;
      cur = "";
    }
  }
  result += toStr(int(resNumber)) + "." +
            toStr(int(((resNumber - double(int(resNumber)) + 0.001) * 100)));
  if (result[result.size() - 1] == '.') result.erase((result.size() - 1), 1);
  if (result[0] == '.') result = "0" + result;
  if ((result.size() > 2) && (result[result.size() - 2] == '.'))
    result =
        result.substr(0, (result.size() - 1)) + "0" + result[result.size() - 1];
  cout << result << "\n";
  return 0;
}
string toStr(int number) {
  int ii;
  string res = "";
  for (ii = 0; number > 0; ii++) {
    if (ii == 3) {
      res += ".";
      ii = 0;
    }
    res += number % 10 + '0';
    number /= 10;
  }
  reverse(res.begin(), res.end());
  return res;
}
