#include <bits/stdc++.h>
using namespace std;
long long a, b;
vector<int> ans;
bool func(long long x) {
  if (x == b) return true;
  if (x < b) {
    if (func(x * 10 + 1)) {
      ans.push_back(x * 10 + 1);
      return true;
    }
    if (func(x * 2)) {
      ans.push_back(x * 2);
      return true;
    }
  }
  return false;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  string s;
  getline(cin, s);
  s += "a";
  long long cop = 0;
  long long rub = 0;
  for (int l = 0, r = 0; r < s.size(); r++) {
    if (s[l] >= 'a' && s[l] <= 'z') {
      l++;
      continue;
    }
    if (s[r] >= 'a' && s[r] <= 'z') {
      int p = 0;
      if (s[r - 3] == '.') {
        cop += (s[r - 2] - 48) * 10 + s[r - 1] - 48;
        p = 2;
      }
      long long tmp = 0;
      for (int i = l; i < r - p; i++) {
        if (s[i] != '.') {
          tmp = tmp * 10 + s[i] - 48;
        }
      }
      rub += tmp;
      l = r;
    }
  }
  rub += cop / 100;
  cop %= 100;
  int n = rub;
  int k = 0;
  vector<int> rubles;
  while (n) {
    rubles.push_back(n % 10);
    n /= 10;
    k++;
  }
  if (rub == 0) cout << 0;
  if (rub == 0 && cop != 0) cout << '.';
  reverse(rubles.begin(), rubles.end());
  for (int i = 0; i < k % 3; i++) cout << rubles[i];
  if (!(cop == 0 && k <= 3) && k % 3 != 0) cout << '.';
  for (int i = k % 3; i < int(rubles.size()) - 2; i += 3) {
    cout << rubles[i] << rubles[i + 1] << rubles[i + 2];
    if (i != rubles.size() - 3) cout << '.';
  }
  if (cop == 0) return 0;
  if (k >= 3) cout << '.';
  if (cop / 10 == 0)
    cout << "0" << cop;
  else
    cout << cop;
  return 0;
}
