/*
* Author: Geeza
*/
#include <bits/stdc++.h>
#define ld long double
#define ll long long
#define pb push_back
#define fin(a, n) for(int i = a; i < n; i++)
#define fjn(a, n) for(int j = a; j < n; j++)
#define all(a) a.begin(),a.end()
#define allr(a) a.rbegin(),a.rend()
#define FAST ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr)
using namespace std;
const double PI = acos(-1);
const int N = 1e5+20;
const ll oo = 0x3f3f3f3f3f3f3f3f;
const int MOD = 1000000007, inf = 1e6;
string di[] = {"D","L", "U", "R", "UL", "UR", "DL", "DR"};
int dx[] = {+1, +0, +0, -1, -1, -1, +1, +1};
int dy[] = {+0, -1, +1, +0, -1, +1, -1, +1};
char dc[] = {'D', 'L', 'R', 'U'};
void solve() {
int n; cin >> n;
vector<array<ll, 3>> v(n, {0, 0, 0});
fin(0, n) cin >> v[i][0] >> v[i][1] >> v[i][2];
vector<array<ll, 3>> dp(n, {-oo, -oo, -oo});
dp[0][0] = v[0][0];
dp[0][1] = v[0][1];
dp[0][2] = v[0][2];
fin(1, n) {
dp[i][0] = max({dp[i][0], dp[i-1][1]+v[i][0], dp[i-1][2]+v[i][0]});
dp[i][1] = max({dp[i][1], dp[i-1][0]+v[i][1], dp[i-1][2]+v[i][1]});
dp[i][2] = max({dp[i][2], dp[i-1][0]+v[i][2], dp[i-1][1]+v[i][2]});
}
cout << max({dp[n-1][0], dp[n-1][1], dp[n-1][2]}) << "\n";
}
int main() {
FAST;
#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif
int tt = 1; //cin >> tt;
while(tt--){
solve();
}
return 0;
}
LyoKKiBBdXRob3I6IEdlZXphCiovCgojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KCiNkZWZpbmUgbGQgbG9uZyBkb3VibGUKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBmaW4oYSwgbikgZm9yKGludCBpID0gYTsgaSA8IG47IGkrKykKI2RlZmluZSBmam4oYSwgbikgZm9yKGludCBqID0gYTsgaiA8IG47IGorKykKI2RlZmluZSBhbGwoYSkgYS5iZWdpbigpLGEuZW5kKCkKI2RlZmluZSBhbGxyKGEpIGEucmJlZ2luKCksYS5yZW5kKCkKI2RlZmluZSBGQVNUIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKQoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGRvdWJsZSBQSSA9IGFjb3MoLTEpOwpjb25zdCBpbnQgTiA9IDFlNSsyMDsKY29uc3QgbGwgb28gPSAweDNmM2YzZjNmM2YzZjNmM2Y7CmNvbnN0IGludCBNT0QgPSAxMDAwMDAwMDA3LCBpbmYgPSAxZTY7CgpzdHJpbmcgZGlbXSA9IHsiRCIsIkwiLCAiVSIsICJSIiwgIlVMIiwgIlVSIiwgIkRMIiwgIkRSIn07CmludCBkeFtdID0geysxLCArMCwgKzAsIC0xLCAtMSwgLTEsICsxLCArMX07CmludCBkeVtdID0geyswLCAtMSwgKzEsICswLCAtMSwgKzEsIC0xLCArMX07CmNoYXIgZGNbXSA9IHsnRCcsICdMJywgJ1InLCAnVSd9OwoKdm9pZCBzb2x2ZSgpIHsKICAgIGludCBuOyBjaW4gPj4gbjsKICAgIHZlY3RvcjxhcnJheTxsbCwgMz4+IHYobiwgezAsIDAsIDB9KTsKCiAgICBmaW4oMCwgbikgY2luID4+IHZbaV1bMF0gPj4gdltpXVsxXSA+PiB2W2ldWzJdOwogICAgdmVjdG9yPGFycmF5PGxsLCAzPj4gZHAobiwgey1vbywgLW9vLCAtb299KTsKCiAgICBkcFswXVswXSA9IHZbMF1bMF07CiAgICBkcFswXVsxXSA9IHZbMF1bMV07CiAgICBkcFswXVsyXSA9IHZbMF1bMl07CgogICAgZmluKDEsIG4pIHsKICAgICAgICBkcFtpXVswXSA9IG1heCh7ZHBbaV1bMF0sIGRwW2ktMV1bMV0rdltpXVswXSwgZHBbaS0xXVsyXSt2W2ldWzBdfSk7CiAgICAgICAgZHBbaV1bMV0gPSBtYXgoe2RwW2ldWzFdLCBkcFtpLTFdWzBdK3ZbaV1bMV0sIGRwW2ktMV1bMl0rdltpXVsxXX0pOwogICAgICAgIGRwW2ldWzJdID0gbWF4KHtkcFtpXVsyXSwgZHBbaS0xXVswXSt2W2ldWzJdLCBkcFtpLTFdWzFdK3ZbaV1bMl19KTsKICAgIH0KCiAgICBjb3V0IDw8IG1heCh7ZHBbbi0xXVswXSwgZHBbbi0xXVsxXSwgZHBbbi0xXVsyXX0pIDw8ICJcbiI7Cn0KCmludCBtYWluKCkgewogICAgRkFTVDsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oImlucHV0LnR4dCIsInIiLHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCJ3IixzdGRvdXQpOwojZW5kaWYKICAgIGludCB0dCA9IDE7IC8vY2luID4+IHR0OwogICAgd2hpbGUodHQtLSl7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9