#include <iostream>
#include <vector>
#include <limits>
#include <algorithm>
using namespace std;

const long long INF = numeric_limits<long long>::max() >> 1ll;


int main()
{
    int n; cin>>n;    

    vector<long long> abc(3);
    cin>>abc[0]>>abc[1]>>abc[2];

    vector<long long> curr(3),next(3);
    curr[0]=0;
    curr[1]=abc[0];
    curr[2]=-INF;

    for(int i=1;i<n;++i){
        long long a,b,c; cin>>a>>b>>c;
        
        next[0] = max(curr[0],max(curr[1],curr[2]));
        next[1] = a + curr[0];
        next[2] = b + max(curr[1]+abc[1]-abc[0], curr[2]+abc[2]-abc[1]);

        curr.swap(next);
        abc[0]=a;
        abc[1]=b;
        abc[2]=c;
    }
            
    cout << max(curr[0],max(curr[1],curr[2])) << '\n';
}