#include <bits/stdc++.h>
using namespace std;
int ans[1020], xiaoshu;
char a[1020];
int n, m;
int tmp[5];
void Update() {
  int i;
  ans[1] += xiaoshu / 100;
  xiaoshu %= 100;
  for (i = 1; i <= m; i++) {
    ans[i + 1] += ans[i] / 1000;
    ans[i] %= 1000;
  }
  while (ans[i] >= 1000) {
    ans[i + 1] += ans[i] / 1000;
    ans[i] %= 1000;
    i++;
  }
  if (ans[i]) m = i;
}
int main() {
  int i, tpn, lsn;
  int cur, j;
  scanf("%s", a);
  n = strlen(a);
  m = 0;
  for (i = 0; i < n;) {
    while (a[i] >= 'a' && a[i] <= 'z') i++;
    tpn = cur = lsn = 0;
    while ((!(a[i] >= 'a' && a[i] <= 'z')) && i != n) {
      if (a[i] == '.') {
        tmp[++tpn] = cur;
        lsn = cur = 0;
      } else {
        cur = cur * 10 + a[i] - '0';
        lsn++;
      }
      i++;
    }
    tmp[++tpn] = cur;
    if (tpn >= 2 && lsn == 2) {
      xiaoshu += tmp[tpn];
      for (j = tpn - 1; j >= 1; j--) ans[tpn - j] += tmp[j];
      m = max(m, tpn - 1);
    } else {
      for (j = tpn; j >= 1; j--) ans[tpn + 1 - j] += tmp[j];
      m = max(m, tpn);
    }
    Update();
  }
  if (!m)
    printf("0.%02d\n", xiaoshu);
  else {
    if (xiaoshu) {
      for (i = m; i >= 1; i--) {
        if (i == m)
          printf("%d.", ans[i]);
        else
          printf("%03d.", ans[i]);
      }
      printf("%02d\n", xiaoshu);
    } else {
      for (i = m; i > 1; i--) {
        if (i == m)
          printf("%d.", ans[i]);
        else
          printf("%03d.", ans[i]);
      }
      if (m == 1)
        printf("%d\n", ans[i]);
      else
        printf("%03d\n", ans[i]);
    }
  }
  return 0;
}
