#include <iostream>
#include <algorithm>
#include <vector>
#include <sstream>
#include <cstdio>
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(val[0]-'0');
		}
		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;
}