#include <bits/stdc++.h>
using namespace std;
string totalSum = "0";
bool hasCents(string number) {
  return number.size() > 3 && number[number.size() - 3] == '.';
}
string getCents(string number) { return number.substr(number.size() - 2, 2); }
void reformatSum() {
  int n = totalSum.size() - 1;
  if (hasCents(totalSum) && totalSum[n] == '0' && totalSum[n - 1] == '0') {
    totalSum.erase(totalSum.size() - 3, 3);
  }
}
void addDolars(string dolar) {
  long long totalSumNum;
  if (hasCents(totalSum)) {
    totalSumNum = stoll(totalSum.substr(0, totalSum.size() - 3), 0, 0);
  } else {
    totalSumNum = stoll(totalSum, 0, 0);
  }
  long long dolarsAdded = stoll(dolar, 0, 0);
  long long result = totalSumNum + dolarsAdded;
  totalSum =
      to_string(result) + (hasCents(totalSum) ? "." + getCents(totalSum) : "");
}
string getDolars(string number) {
  if (hasCents(number)) {
    return number.substr(0, number.size() - 3);
  }
  return number;
}
int bla(string cents) { return (cents[1] - '0') + (cents[0] - '0') * 10; }
void addCents(string cents) {
  string centsTotalSum = getCents(totalSum);
  int first = bla(centsTotalSum);
  int second = bla(cents);
  int result = first + second;
  string finalCents = to_string(result % 100);
  if (finalCents.size() == 1) {
    finalCents = "0" + finalCents;
  }
  totalSum[totalSum.size() - 1] = finalCents[1];
  totalSum[totalSum.size() - 2] = finalCents[0];
  reformatSum();
  if (result >= 100) {
    addDolars("1");
  }
}
string removeDots(string number) {
  string additional = "";
  if (hasCents(number)) {
    additional = "." + getCents(number);
    number.erase(number.size() - 3, 3);
  }
  string result = "";
  for (int i = 0; i < number.size(); i++) {
    result += (number[i] == '.' ? "" : number.substr(i, 1));
  }
  return result + additional;
}
void addNumber(string number) {
  number = removeDots(number);
  if (hasCents(number) && !hasCents(totalSum)) {
    totalSum += "." + getCents(number);
  } else if (hasCents(number) && hasCents(totalSum)) {
    addCents(getCents(number));
    reformatSum();
  }
  addDolars(getDolars(number));
}
string addDots() {
  string result = "";
  string additional = (hasCents(totalSum) ? "." + getCents(totalSum) : "");
  int i = totalSum.size() - 1;
  if (hasCents(totalSum)) {
    i = totalSum.size() - 4;
  }
  for (int k = 0; i >= 0; i--, k++) {
    if (k % 3 == 0 && k) {
      result = totalSum.substr(i, 1) + "." + result;
    } else
      result = totalSum.substr(i, 1) + result;
  }
  return result + additional;
}
int main() {
  cin.sync_with_stdio(false);
  string bill;
  cin >> bill;
  string number = "";
  bool inNumber = false;
  for (int i = 0; i < bill.size(); i++) {
    if ((bill[i] <= '9' && bill[i] >= '0') || bill[i] == '.') {
      if (!inNumber) {
        inNumber = true;
      }
      number += bill[i];
    } else {
      if (inNumber) {
        inNumber = false;
        addNumber(number);
        number = "";
      }
    }
  }
  if (inNumber) {
    inNumber = false;
    addNumber(number);
    number = "";
  }
  cout << addDots();
  return 0;
}
