#include <bits/stdc++.h>
using namespace std;
vector<pair<int, int> > split(string s) {
  vector<pair<int, int> > cost;
  int n = s.size();
  for (int i = 0; i < s.size();) {
    if (!isalpha(s[i])) {
      string v;
      while (i < n && !isalpha(s[i])) {
        v += s[i];
        i++;
      }
      auto p = v.rfind('.');
      int fin = v.size();
      int cents = 0;
      if (p != string::npos && v.size() - 1 - p == 2) {
        cents = (v[p + 1] - '0') * 10 + v[p + 2] - '0';
        fin = p;
      }
      int val = 0;
      for (int j = 0; j < fin; ++j) {
        if (v[j] != '.') {
          val = val * 10 + v[j] - '0';
        }
      }
      cost.emplace_back(val, cents);
    } else
      ++i;
  }
  return cost;
}
int main() {
  string s;
  cin >> s;
  vector<pair<int, int> > spl = split(s);
  int money = 0, cent = 0;
  for (auto i : spl) {
    money += i.first;
    cent += i.second;
  }
  money += cent / 100;
  cent = cent % 100;
  string tonum;
  if (money == 0) tonum = "0";
  int c = 0;
  while (money) {
    if (c == 3) {
      tonum += ".";
      c %= 3;
    }
    tonum += '0' + money % 10;
    money /= 10;
    c++;
  }
  reverse(tonum.begin(), tonum.end());
  cout << tonum;
  if (cent) {
    cout << '.' << cent / 10 << cent % 10;
  }
  cout << "\n";
  return 0;
}
