//getting unexpected value in answer.
//https://pastebin.com/6ArAz12f
//problem link if you need it although it’s not needed https://atcoder.jp/contests/dp/tasks/dp_c
#include <bits/stdc++.h>
using namespace std;
#define FASTER ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
typedef long long ll;
int N;
vector<vector > V(N,vector(3));
vector<vector > DP(N,vector(3,-1));
int f(int i, int last){
if(i>=N)return 0;
if(DP[i][last]!=-1)return DP[i][last];
int a=0,b=0,c=0;
if(last!=0)a=V[i][0]+f(i+1,0);
if(last!=1)b=V[i][1]+f(i+1,1);
if(last!=2)c=V[i][2]+f(i+1,2);
DP[i][last]=max({a,b,c});
return DP[i][last];
}
int main(){
FASTER;
cin>>N;
for(int i=0;i<N;i++)for(int j=0;j<3;j++)cin>>V[i][j];
cout<<f(0,-1);
}