#include <iostream>
#include <cstring>
#include <sstream>
#include <algorithm>

using namespace std;

int d[50][100],dp[50][100];

int main() {
	string str;
	int l=0;
	memset(d,-1,sizeof(d));
	memset(dp,-1,sizeof(d));
	while(cin>>str) {
		replace(str.begin(),str.end(),',',' ');
		stringstream sstr(str);
		int i=0;
		while(sstr>>d[i++][l]);
		l++;
	}
	dp[0][0]=d[0][0];
	for(int i=1;i<l;i++) {
		for(int j=0;j!=50&&d[j][i]!=-1;j++) {
			if((l/2)<i) {
				dp[j][i]=max(dp[j][i-1],j<50?dp[j+1][i-1]:-1);
			}else {
				dp[j][i]=max(dp[j][i-1],j>=0?dp[j-1][i-1]:-1);
			}
			dp[j][i]+=d[j][i];
		}
	}
	cout<<dp[0][l-1]<<endl;
}