#include <bits/stdc++.h>
using namespace std;
int mod(string s, int a) {
  int ans = 0;
  for (int i = 0; i < s.length(); i++) ans = (ans * 10 + (int)s[i] - '0') % a;
  return ans;
}
long long min(long long x, long long y) {
  if (x < y) return x;
  return y;
}
long long max(long long x, long long y) {
  if (x > y) return x;
  return y;
}
long long power(long long x, unsigned long long y) {
  if (y == 0)
    return 1;
  else if (y % 2 == 0)
    return power(x, y / 2) * power(x, y / 2);
  else
    return x * power(x, y / 2) * power(x, y / 2);
}
long long hcf(long long a, long long b) {
  if (b == 0) return a;
  return hcf(b, a % b);
}
pair<long double, long double> func(string s) {
  long long i, n = s.length();
  long double ans = 0.00;
  long long fr = 0, in = 0;
  if (s[n - 3] == '.') {
    fr = (s[n - 2] - '0') * 10 + (s[n - 1] - '0');
    for (i = 0; i < n - 3; i++) {
      if (s[i] == '.') continue;
      in = (in * 10) + (s[i] - '0');
    }
  } else {
    for (i = 0; i < n; i++) {
      if (s[i] == '.') continue;
      in = (in * 10) + (s[i] - '0');
    }
  }
  return {in, fr};
}
string func2(long double num) {
  long long n, c = 0;
  string s = "";
  if (ceil(num) != floor(num)) {
    n = num * 100;
    s += (char)((n % 10) + '0');
    n /= 10;
    s += (char)((n % 10) + '0');
    s += '.';
    n /= 10;
  } else
    n = num;
  while (n) {
    s += (char)((n % 10) + '0');
    n /= 10;
    c++;
    if (c % 3 == 0 && n) s += '.';
  }
  if (s[s.length() - 1] == '.') s += '0';
  reverse(s.begin(), s.end());
  if (s[s.length() - 1] == '0' && s[s.length() - 2] == '0' &&
      s[s.length() - 3] == '.')
    s = s.substr(0, s.length() - 3);
  return s;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long TT = 1;
  while (TT--) {
    string s;
    cin >> s;
    long long n = s.length(), j, i;
    vector<string> v;
    for (i = 0; i < n;) {
      if (s[i] >= 'a' && s[i] <= 'z') {
        i++;
        continue;
      } else {
        string t = "";
        for (j = i; j < n; j++) {
          if (s[j] >= 'a' && s[j] <= 'z')
            break;
          else
            t += s[j];
        }
        i = j;
        v.push_back(t);
      }
    }
    pair<long double, long double> x;
    long double ans = 0.00;
    long long in = 0, fr = 0;
    cout << fixed << setprecision(2);
    for (auto u : v) {
      x = func(u);
      in += x.first;
      fr += x.second;
    }
    in += (fr / 100);
    fr %= 100;
    ans = in + (fr * 0.01);
    cout << fixed << setprecision(2);
    cout << func2(ans) << "\n";
  }
}
