#include<iostream>
#include<string>
using namespace std;
int num[100][100];
int dp[100][100]={0};
int main(){
    string str;
    int k,c,i,n=0;
    while(cin>>str){
        n++;
        k=0,c=0,i=0;
        for(i=0;i<str.length();i++){
            if(str[i]==','){
                num[n-1][c]=k;
                c++;
                k=0;
            }
            else{
                k*=10;
                k+=str[i]-'0';
            }
        }
        num[n-1][c]=k;
    }
    dp[0][0]=num[0][0];
    for(i=0;i<(n-1)/2;i++){
        for(int j=0;j<=i;j++){
            dp[i+1][j]=max(dp[i+1][j],dp[i][j]+num[i+1][j]);
            dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+num[i+1][j+1]);
        }
    }
    for(;i<n-1;i++){
        for(int j=0;j<n-i;j++){
            if(j>0)dp[i+1][j-1]=max(dp[i+1][j-1],dp[i][j]+num[i+1][j-1]);
            dp[i+1][j]=max(dp[i+1][j],dp[i][j]+num[i+1][j]);
        }
    }
    cout<<dp[n-1][0];
}