#include <iostream>
#include <algorithm>
#include <vector>
#include <sstream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
    vector< vector<int> > V;
    string s;
    while(getline(cin,s))
    {
        string val;
        stringstream ss(s);
        vector<int> x;
        while(getline(ss,val,','))
        {
            x.push_back(atoi(val.c_str()));
        }
        V.push_back(x);
    }
     
    for(int i=1;i<V.size()/2+1;i++)
    {
        for(int l=0;l<V[i].size();l++)
        {
            int a=0,b=0;
            if(l)a=V[i-1][l-1];
            if(l!=V[i].size()-1)b=V[i-1][l];
            V[i][l]+=max(a,b);
        }
    }
    for(int i=V.size()/2+1;i<V.size();i++)
    {
        for(int l=0;l<V[i].size();l++)
        {
            V[i][l]+=max(V[i-1][l],V[i-1][l+1]);
        }
    }
    for(int i=0;i<V.size();i++)
    {
        for(int l=0;l<V[i].size();l++)
        {
            //printf("%3d",V[i][l]);
        }
        //cout<<endl;
         
    }
     
     
     
    cout<<V.back().back()<<endl;
}