



import sys

input = sys.stdin.readline

sys.setrecursionlimit(10**6)

##############################



N = int(eval(input()))



# 「翌日の値をセット」しているので、最終日+1日まで入る関係で+1

dp = [ [0 for _ in range(3)] for _ in range(N+1) ]

#print(dp)



ABC = [[]] * N



for i in range(N):

    x = list(map(int, input().split()))

    ABC[i] = x



#print(ABC)



# i日目

for i in range(N):

    '''

             j                     k

    dp[ i ][ 0 ] から dp[ i + 1 ][ 0 ] はcontinue(以下略）

    dp[ i ][ 0 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1])

    dp[ i ][ 0 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2])

    dp[ i ][ 1 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0])

    dp[ i ][ 1 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2])

    dp[ i ][ 2 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0])

    dp[ i ][ 2 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1])

    '''

    # i日目の選択肢

    for j in range(3):

        # i+1日目の選択肢

        for k in range(3):

            # 翌日が今日と同じならパス

            if j == k:

                continue



            ### 配るdp

            # 翌日の活動kと、今日の幸福度+選択した活動を比較

            dp[i+1][k] = max(dp[i+1][k], dp[i][j]+ABC[i][k])



ans = 0

for i in range(3):

    ans = max(ans, dp[N][i])



print(ans)



import sys

input = sys.stdin.readline

sys.setrecursionlimit(2147483647)

INF=float("inf")

MOD=10**9+7

# A = [ int(input()) for _ in range(N) ]

##############################



N = int(eval(input()))

A = []

B = []

C = []

for i in range(N):

    a, b, c = list(map(int, input().split()))

    A.append(a)

    B.append(b)

    C.append(c)



dp = [ [0 for _ in range(3)] for _ in range(N+1) ]



for i in range(1, N+1):

    dp[i][0] = max(dp[i-1][1]+B[i-1], dp[i-1][2]+C[i-1])

    dp[i][1] = max(dp[i-1][0]+A[i-1], dp[i-1][2]+C[i-1])

    dp[i][2] = max(dp[i-1][0]+A[i-1], dp[i-1][1]+B[i-1])



print((max(dp[N])))

import sys

input = sys.stdin.readline
sys.setrecursionlimit(10**6)
##############################
N = int(eval(input()))
# 「翌日の値をセット」しているので、最終日+1日まで入る関係で+1
dp = [[0 for _ in range(3)] for _ in range(N + 1)]
# print(dp)
ABC = [[]] * N
for i in range(N):
    x = list(map(int, input().split()))
    ABC[i] = x
# print(ABC)
# i日目
for i in range(N):
    """
             j                     k
    dp[ i ][ 0 ] から dp[ i + 1 ][ 0 ] はcontinue(以下略）
    dp[ i ][ 0 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1])
    dp[ i ][ 0 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2])
    dp[ i ][ 1 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0])
    dp[ i ][ 1 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2])
    dp[ i ][ 2 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0])
    dp[ i ][ 2 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1])
    """
    # i日目の選択肢
    for j in range(3):
        # i+1日目の選択肢
        for k in range(3):
            # 翌日が今日と同じならパス
            if j == k:
                continue
            ### 配るdp
            # 翌日の活動kと、今日の幸福度+選択した活動を比較
            dp[i + 1][k] = max(dp[i + 1][k], dp[i][j] + ABC[i][k])
ans = 0
for i in range(3):
    ans = max(ans, dp[N][i])
print(ans)

import sys

input = sys.stdin.readline
sys.setrecursionlimit(2147483647)
INF = float("inf")
MOD = 10**9 + 7
# A = [ int(input()) for _ in range(N) ]
##############################
N = int(eval(input()))
A = []
B = []
C = []
for i in range(N):
    a, b, c = list(map(int, input().split()))
    A.append(a)
    B.append(b)
    C.append(c)
dp = [[0 for _ in range(3)] for _ in range(N + 1)]
for i in range(1, N + 1):
    dp[i][0] = max(dp[i - 1][1] + B[i - 1], dp[i - 1][2] + C[i - 1])
    dp[i][1] = max(dp[i - 1][0] + A[i - 1], dp[i - 1][2] + C[i - 1])
    dp[i][2] = max(dp[i - 1][0] + A[i - 1], dp[i - 1][1] + B[i - 1])
print((max(dp[N])))

-sys.setrecursionlimit(10**6) +sys.setrecursionlimit(2147483647) +INF = float("inf") +MOD = 10**9 + 7 +# A = [ int(input()) for _ in range(N) ] -# 「翌日の値をセット」しているので、最終日+1日まで入る関係で+1 +A = [] +B = [] +C = [] +for i in range(N): +    a, b, c = list(map(int, input().split())) +    A.append(a) +    B.append(b) +    C.append(c) -# print(dp) -ABC = [[]] * N -for i in range(N): -    x = list(map(int, input().split())) -    ABC[i] = x -# print(ABC) -# i日目 -for i in range(N): -    """ -             j                     k -    dp[ i ][ 0 ] から dp[ i + 1 ][ 0 ] はcontinue(以下略） -    dp[ i ][ 0 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1]) -    dp[ i ][ 0 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2]) -    dp[ i ][ 1 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0]) -    dp[ i ][ 1 ] から dp[ i + 1 ][ 2 ] への遷移(ABC[i][2]) -    dp[ i ][ 2 ] から dp[ i + 1 ][ 0 ] への遷移(ABC[i][0]) -    dp[ i ][ 2 ] から dp[ i + 1 ][ 1 ] への遷移(ABC[i][1]) -    """ -    # i日目の選択肢 -    for j in range(3): -        # i+1日目の選択肢 -        for k in range(3): -            # 翌日が今日と同じならパス -            if j == k: -                continue -            ### 配るdp -            # 翌日の活動kと、今日の幸福度+選択した活動を比較 -            dp[i + 1][k] = max(dp[i + 1][k], dp[i][j] + ABC[i][k]) -ans = 0 -for i in range(3): -    ans = max(ans, dp[N][i]) -print(ans) +for i in range(1, N + 1): +    dp[i][0] = max(dp[i - 1][1] + B[i - 1], dp[i - 1][2] + C[i - 1]) +    dp[i][1] = max(dp[i - 1][0] + A[i - 1], dp[i - 1][2] + C[i - 1]) +    dp[i][2] = max(dp[i - 1][0] + A[i - 1], dp[i - 1][1] + B[i - 1]) +print((max(dp[N])))