#include <cstdio>
#include <iostream>
#include <fstream>
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <bitset>
#include <algorithm>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <cstdlib>
#include <ctype.h>
#include <cstring>
#include <string>
#include <ctime>
#include <cassert>
#include <utility>

using namespace std;

#define MAXN 1000001
#define INF 1000000000

int N;
int A[MAXN], B[MAXN], C[MAXN];
int dp[2][3];

int main() {
//	freopen("date.in", "r", stdin);
//	freopen("date.out","w", stdout);
	
	scanf("%d", &N);
	for(int i = 0; i < N; i++)
        scanf("%d %d %d", &A[i], &B[i], &C[i]);
	
	fill(dp[0], dp[0] + 3, -INF);
	dp[0][0] = 0;
	int line = 1;
	for(int i = 0; i < N; i++) {
        fill(dp[line], dp[line] + 3, -INF);
        
        for(int j = 0; j < 3; j++)
            dp[line][0] = max(dp[line][0], dp[1 - line][j]);
        
        dp[line][1] = dp[1 - line][0] + A[i];
        
        dp[line][2] = dp[1 - line][1] - A[i - 1] + B[i - 1] + B[i];
        dp[line][2] = max(dp[line][2], dp[1 - line][2] - B[i - 1] + C[i - 1] + B[i]);
        
        line = 1 - line;
	}
	line = 1 - line;
	
	int ans = max(dp[line][0], max(dp[line][1], dp[line][2]));
	printf("%d\n", ans);
	
	return 0;
}