#include <iostream>
using namespace std;
const int N=1e2+10;
int main(){
    string s;
    int dp[N][2],now,t,last;
    bool f=true;
    for(int i=0;i<N;i++)dp[i][0]=0;
    last=0;
    while(getline(cin,s)){
        if(s=="END")break;
        for(int i=0;i<N;i++)dp[i][f]=0;
        now=t=0;
        for(int i=0;i<s.size();i++){
            if(s[i]==','){
                dp[t++][f]=now;
                now=0;
            }
            else {
                now*=10;
                now+=s[i]-'0';
            }
        }
        dp[t][f]=now;
        if(last<t){
            dp[0][f]+=dp[0][!f];
            for(int i=1;i<=t;i++)dp[i][f]+=max(dp[i][!f],dp[i-1][!f]);
        }
        else for(int i=0;i<=t;i++)dp[i][f]+=max(dp[i][!f],dp[i+1][!f]);
        f=!f;
        last=t;
    }
    printf("%d\n",dp[0][!f]);
}
