#include <bits/stdc++.h>
using namespace std;
string s;
int b[3000];
int main() {
  cin >> s;
  for (int i = 0; i < s.size(); i++) {
    if (isdigit(s[i])) {
      int r = i;
      while (r < s.size() && (isdigit(s[r]) || s[r] == '.')) {
        r++;
      }
      r--;
      int _i = r;
      if (r - 2 > 0 && s[r - 2] == '.') {
        b[0] += (s[r - 1] - '0') * 10 + s[r] - '0';
        r -= 3;
      }
      if (r - i + 1 < 3) {
        b[1] += atoi(s.substr(i, r - i + 1).c_str());
      } else {
        int j;
        for (j = 1; r >= i && r - 2 > 0 && isdigit(s[r - 2]) &&
                    isdigit(s[r - 1]) && isdigit(s[r]);
             j++) {
          b[j] += (s[r - 2] - '0') * 100 + (s[r - 1] - '0') * 10 + s[r] - '0';
          r -= 4;
        }
        if (r >= i) {
          b[j] += atoi(s.substr(i, r - i + 1).c_str());
        }
      }
      i = _i;
    }
  }
  b[1] += b[0] / 100;
  b[0] %= 100;
  int mx = 1;
  for (int i = 1; i < 3000; i++) {
    b[i + 1] += b[i] / 1000;
    b[i] %= 1000;
    if (b[i]) {
      mx = i;
    }
  }
  cout << b[mx];
  for (int i = mx - 1; i > 0; i--) {
    cout << '.';
    if (b[i] < 10) {
      cout << 0;
    }
    if (b[i] < 100) {
      cout << 0;
    }
    cout << b[i];
  }
  if (b[0]) {
    cout << '.';
    if (b[0] < 10) {
      cout << 0;
    }
    cout << b[0];
  }
  return 0;
}
