#include <bits/stdc++.h>
using namespace std;
string s;
vector<string> ss;
double check(const string& x) {
  double res = 0;
  if (x.size() < 3) {
    for (char c : x) {
      res = res * 10 + (int)c - '0';
    }
    return res;
  }
  if (x[x.size() - 3] == '.') {
    for (int i = 0; i < x.size() - 3; ++i) {
      if (x[i] == '.') continue;
      res = res * 10 + (int)x[i] - '0';
    }
    res += ((int)x[x.size() - 2] - '0') / 10.0;
    res += ((int)x[x.size() - 1] - '0') / 100.0;
    return res;
  } else {
    for (int i = 0; i < x.size(); ++i) {
      if (x[i] == '.') continue;
      res = res * 10 + (int)x[i] - '0';
    }
    return res;
  }
}
int main(int argc, const char* argv[]) {
  cin >> s;
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] >= '0' && s[i] <= '9') {
      for (int j = i; j < s.size(); ++j) {
        if (j == s.size() - 1) {
          ss.emplace_back(s.substr(i, j - i + 1));
          i = j;
          continue;
        }
        if (s[j] >= 'a' && s[j] <= 'z') {
          ss.emplace_back(s.substr(i, j - i));
          i = j - 1;
          break;
        }
      }
    }
  }
  double ans = 0;
  for (auto& x : ss) {
    ans += check(x);
  }
  char sans[5000];
  sprintf(sans, "%.2f", ans);
  int len = (int)strlen(sans);
  int cnt = (len - 3) % 3;
  if (cnt == 0) cnt = 3;
  for (int i = 0; i < cnt; ++i) putchar(sans[i]);
  for (int i = cnt; i < len - 3; i += 3) {
    if (cnt) putchar('.');
    putchar(sans[i]);
    putchar(sans[i + 1]);
    putchar(sans[i + 2]);
  }
  if (sans[len - 1] != '0' || sans[len - 2] != '0') {
    putchar('.');
    putchar(sans[len - 2]);
    putchar(sans[len - 1]);
  }
  puts("");
  return 0;
}
