#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
int nrg, nrv;
string s;
bool gg(int pos) {
  if (pos < 2) return 0;
  return ((s[pos] >= '0' && s[pos] <= '9') &&
          (s[pos - 1] >= '0' && s[pos - 1] <= '9') && (s[pos - 2] == '.'));
}
deque<int> dg;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  cin >> s;
  for (int i = 0; i < s.size(); ++i) {
    if (s[i] >= 'a' && s[i] <= 'z') continue;
    int l = i;
    while (i < s.size() && !(s[i] >= 'a' && s[i] <= 'z')) ++i;
    --i;
    int r = i;
    if (gg(r)) {
      nrv = nrv + (s[r] - '0') + 10 * (s[r - 1] - '0');
      r -= 3;
    }
    int ex = 1;
    while (r >= 0 && !(s[r] >= 'a' && s[r] <= 'z')) {
      if (s[r] != '.') nrg = nrg + ex * (s[r] - '0'), ex = ex * 10;
      --r;
    }
  }
  nrg += nrv / 100;
  nrv %= 100;
  do {
    dg.push_front(nrg % 10);
    nrg /= 10;
  } while (nrg);
  for (int i = 0; i < dg.size(); ++i) {
    if (i && (dg.size() - i) % 3 == 0) cout << ".";
    cout << dg[i];
  }
  if (nrv) {
    cout << ".";
    if (nrv < 10) cout << "0";
    cout << nrv;
  }
  return 0;
}
