#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 123;
const int mod = 1e9 + 7;
const int INF = 1e9 + 1;
const long long INFL = 3e18 + 1;
const double pi = acos(-1.0);
string s;
int a, b;
bool used[N];
pair<int, int> get(int pos) {
  pair<int, int> ans = make_pair(0, 0);
  int end, cnt = 0;
  bool ok = 0, db = 0;
  for (int i = pos; i < s.size(); i++) {
    if (isalpha(s[i])) break;
    end = i;
  }
  for (int i = end; i >= pos; i--) used[i] = 1;
  for (int i = end; i >= pos; i--) {
    if (ok) {
      if (cnt == 2) db = 1;
      break;
    }
    if (s[i] == '.') ok = 1;
    if (!ok) cnt++;
  }
  if (db) {
    ans.second += (s[end] - '0') + (s[end - 1] - '0') * 10;
    int pw = 1;
    for (int i = end - 2; i >= pos; i--) {
      if (s[i] == '.') continue;
      ans.first += (s[i] - '0') * pw;
      pw *= 10;
    }
    return ans;
  }
  int pw = 1;
  for (int i = end; i >= pos; i--) {
    if (s[i] == '.') continue;
    ans.first += (s[i] - '0') * pw;
    pw *= 10;
  }
  return ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> s;
  for (int i = 0; i < s.size(); i++) {
    if (isalpha(s[i])) continue;
    if (used[i]) continue;
    pair<int, int> x = get(i);
    a += x.first;
    b += x.second;
  }
  if (b >= 100) {
    a += b / 100;
    int x = b % 10;
    b /= 10;
    int y = b % 10;
    b = x + y * 10;
  }
  int cnt = 0;
  string h = "";
  while (a) {
    h += (a % 10) + '0';
    cnt++;
    if (cnt == 3) {
      h += '.';
      cnt = 0;
    }
    a /= 10;
  }
  reverse(h.begin(), h.end());
  if (h.size() == 0)
    cout << 0;
  else {
    if (h[0] == '.') {
      for (int i = 1; i < h.size(); i++) cout << h[i];
    } else
      cout << h;
  }
  if (b == 0) return 0;
  cout << '.';
  if (b <= 9) cout << 0;
  cout << b;
  return 0;
}
