#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>

using namespace std;
string str;
int fie[151][151];
int dp[151][151];
int main(void){
	memset(fie,-1,sizeof(fie));
	int j=0;
	while(cin >> str){
		int cnt=0,num=0;
		for(int i=0;i<str.size();i++){
			if(str[i]==','){
				fie[cnt++][j]=num;
				num=0;
			}
			else{
				num*=10;
				num+=str[i]-'0';
			}
		}
		fie[cnt++][j]=num;
		j++;
	}
	dp[0][0]=fie[0][0];
	int res=dp[0][0];
	for(int i=0;i<j/2;i++){
		for(int k=0;k<j;k++){
			dp[k+1][i+1]=max(dp[k+1][i+1],dp[k][i]+fie[k+1][i+1]);
			dp[k][i+1]=max(dp[k][i+1],dp[k][i]+fie[k][i+1]);
			res=max(res,dp[k+1][i+1]);
			res=max(res,dp[k][i+1]);
		}
	}
	for(int i=j/2;i<j;i++){
		for(int k=0;k<j;k++){
			if(k>=1){
				dp[k-1][i+1]=max(dp[k-1][i+1],dp[k][i]+fie[k-1][i+1]);
				res=max(res,dp[k-1][i+1]);
			}
			dp[k][i+1]=max(dp[k][i+1],dp[k][i]+fie[k][i+1]);
			res=max(res,dp[k][i+1]);
		}
	}
	printf("%d\n",res);
}