#include <bits/stdc++.h>
using namespace std;
bool sort_func(long long int i, long long int j) { return (i < j); }
int fl;
int dodo(string *st, int *cents, int *am) {
  int num = 0;
  if ((*st).size() == 0) return 0;
  for (int i = 0; i < (*st).size(); i++) {
    num = num * 10;
    num += (((*st)[i]) - '0');
  }
  if (((*st).size() == 2) && fl) {
    (*cents) += num;
  } else {
    (*am) = (*am) * 1000;
    (*am) += num;
  }
  fl = 1;
  return 0;
}
int main() {
  string st, st1, anss;
  int am = 0, cents = 0, ans = 0, l;
  getline(cin, st);
  for (int i = 0, j = 0; i < st.size(); i++) {
    j = i;
    fl = 0;
    am = 0;
    while (st[j] == '.' || (st[j] <= '9' && st[j] >= '0')) {
      if (st[j] != '.') {
        st1.push_back(st[j]);
      } else {
        dodo(&st1, &cents, &am);
        st1.clear();
      }
      j++;
    }
    dodo(&st1, &cents, &am);
    ans += am;
    st1.clear();
    i = j;
  }
  ans += (int)(cents / 100);
  cents = cents % 100;
  while (cents) {
    anss.push_back('0' + (int)(cents % 10));
    cents = cents / 10;
    if (!cents) {
      if (anss.size() == 1) anss.push_back('0');
      anss.push_back('.');
    }
  }
  if (ans == 0) anss.push_back('0');
  l = 1;
  while (ans) {
    if (l % 4 == 0) {
      anss.push_back('.');
      l = 1;
    } else {
      l += 1;
      anss.push_back('0' + (int)(ans % 10));
      ans = ans / 10;
    }
  }
  for (int i = anss.size() - 1; i >= 0; i--) cout << anss[i];
  cout << endl;
  return 0;
}
