func_code_string: #include <bits/stdc++.h>   using namespace std;   void Read(int &n) {     int sign = 1;     n = 0;     char c;     do {       c = getchar();     } while (!isdigit(c) && c !=  - );     if (c ==  - ) {       c = getchar();       sign = -1;     }     do {       n = n * 10 + c - 48;       c = getchar();     } while (isdigit(c));     n *= sign;   }   void Read(long long &n) {     int sign = 1;     n = 0;     char c;     do {       c = getchar();     } while (!isdigit(c) && c !=  - );     if (c ==  - ) {       c = getchar();       sign = -1;     }     do {       n = n * 10ll + c - 48;       c = getchar();     } while (isdigit(c));     n *= sign;   }   void Write(int n) {     if (n == 0) {       putchar( 0 );       return;     } else if (n < 0)       putchar( - ), n = -n;     char C[30];     int d = 0;     while (n) {       C[++d] = (n % 10) + 48;       n /= 10;     }     for (int i = d; i >= 1; --i) putchar(C[i]);   }   void Write(long long n) {     if (n == 0) {       putchar( 0 );       return;     } else if (n < 0)       putchar( - ), n = -n;     char C[30];     int d = 0;     while (n) {       C[++d] = (n % 10ll) + 48;       n /= 10ll;     }     for (int i = d; i >= 1; --i) putchar(C[i]);   }   const int maxn = 1005;   char S[maxn];   int P1 = 0, P2 = 0;   bool DigitOrDot(char c) { return ( 0  <= c && c <=  9 ) || c ==  . ; }   void Solve(int s, int e) {     int val = 0;     int pos = -1;     for (int i = s; i <= e; ++i) {       if (S[i] ==  . ) {         pos = i;         continue;       }       val = val * 10 + (S[i] -  0 );     }     if (e - pos == 2) {       P1 += val / 100;       P2 += val % 100;     } else       P1 += val;   }   int main() {     scanf( %s , S + 1);     int n = strlen(S + 1);     for (int i = 1; i <= n; ++i) {       int s = i, e, j = i;       if (DigitOrDot(S[i]))         while (j <= n && DigitOrDot(S[j])) ++j;       e = j - 1;       if (s <= e) Solve(s, e);       i = j;     }     P1 += P2 / 100;     P2 %= 100;     string ans =   ;     if (P2 != 0)       for (int i = 1; i <= 2; ++i) ans += char((P2 % 10) +  0 ), P2 /= 10;     if (ans !=   ) ans +=  . ;     int d = 0;     if (P1 == 0) ans +=  0 ;     while (P1) {       ans += (char)((P1 % 10) +  0 );       P1 /= 10;       d++;       if (d == 3) d = 0, ans +=  . ;     }     if (ans[ans.size() - 1] ==  . ) ans.erase(ans.size() - 1);     reverse(ans.begin(), ans.end());     cout << ans;     return 0;   }   