#include <bits/stdc++.h>
using namespace std;
string sum(string str1, string str2) {
  string ans = "";
  int num = 0, i = 0;
  while (i < str1.size() && i < str2.size()) {
    num +=
        (str1[str1.size() - 1 - i] - '0') + (str2[str2.size() - 1 - i] - '0');
    i++;
    ans += (num % 10) + '0';
    num /= 10;
  }
  while (i < str1.size()) {
    num += str1[str1.size() - 1 - i] - '0';
    i++;
    ans += (num % 10) + '0';
    num /= 10;
  }
  while (i < str2.size()) {
    num += str2[str2.size() - 1 - i] - '0';
    i++;
    ans += (num % 10) + '0';
    num /= 10;
  }
  if (num) ans += num + '0';
  return ans;
}
int main() {
  char arr[1005];
  scanf("%s", arr);
  vector<string> dollars, cent;
  string tmp1, tmp2;
  bool flag;
  for (int i = 0; arr[i] != '\0'; i++) {
    flag = false;
    tmp1 = "";
    tmp2 = "";
    while (!isalpha(arr[i])) {
      tmp1 += arr[i];
      i++;
      if (arr[i] == '\0' || isalpha(arr[i])) {
        i--;
        break;
      }
    }
    for (int j = tmp1.size() - 1; j >= 0 && tmp1 != ""; j--) {
      while (tmp1[j] != '.') {
        tmp2 += tmp1[j];
        j--;
        if (j == -1 || tmp1[j] == '.') {
          j++;
          break;
        }
      }
      if (tmp2.size() == 2 && !flag) {
        reverse(tmp2.begin(), tmp2.end());
        cent.push_back(tmp2);
        tmp2 = "";
        flag = true;
      }
    }
    reverse(tmp2.begin(), tmp2.end());
    if (tmp2 != "") dollars.push_back(tmp2);
  }
  string tmp;
  while (cent.size() > 1) {
    tmp = sum(cent[cent.size() - 1], cent[cent.size() - 2]);
    cent.pop_back();
    cent.pop_back();
    reverse(tmp.begin(), tmp.end());
    cent.push_back(tmp);
  }
  if (cent.size() && cent.back().size() > 2) {
    int f = 1;
    long long num = 0;
    for (int i = cent.back().size() - 3; i >= 0; i--) {
      num += f * (cent.back()[i] - '0');
      f *= 10;
    }
    tmp = "";
    while (num) {
      tmp += (num % 10) + '0';
      num /= 10;
    }
    reverse(tmp.begin(), tmp.end());
    dollars.push_back(tmp);
    tmp = cent.back()[cent.back().size() - 1];
    tmp += cent.back()[cent.back().size() - 2];
    reverse(tmp.begin(), tmp.end());
    cent.pop_back();
    cent.push_back(tmp);
  }
  while (dollars.size() > 1) {
    tmp = sum(dollars[dollars.size() - 1], dollars[dollars.size() - 2]);
    dollars.pop_back();
    dollars.pop_back();
    reverse(tmp.begin(), tmp.end());
    dollars.push_back(tmp);
  }
  string ans = "";
  int cnt = 0;
  for (int i = dollars.back().size() - 1; i >= 0; i--) {
    if (cnt == 3) ans += '.', cnt = 0;
    ans += dollars[0][i];
    cnt++;
  }
  reverse(ans.begin(), ans.end());
  printf("%s", ans.c_str());
  if (cent.size() && cent.back() != "00") printf(".%s\n", cent.back().c_str());
  return 0;
}
