def main():



    n = int(eval(input()))

    actividad = []

    for i in range(n):

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

        actividad.append(puntos)



    primer_puntos = [0] * 3



    for i in range(len(primer_puntos)):

        primer_puntos[i] = actividad[0][i]



    for i in range(1, n):

        siguiente = [0] * 3

        for j in range(3):

            for k in range(3):

                if j != k :

                    siguiente[j] = max(siguiente[j], primer_puntos[k] + actividad[i][j])

        primer_puntos = siguiente



    print((max(primer_puntos)))

if __name__ == "__main__":

    main()
n = int(eval(input()))



felicidade = []



for x in range(n):

    felicidade.append(list(map(int,input().split())))



DP = [0,0,0]



if n == 1:

    print((max(felicidade[0])))



else:



    for x in range(3):

        DP[x] = felicidade[0][x]





    for dia in range(1,n):

        m = [0] * 3

        for x  in range(3):#As duas possíveis escolhas são x e y

            for y  in range(3):

                if x != y: #Se elas forem diferentes

                    m[x] = max(m[x], DP[y] + felicidade[dia][x])

        DP = m

    

    print((max(DP)))

def main():
    n = int(eval(input()))
    actividad = []
    for i in range(n):
        puntos = list(map(int, input().split()))
        actividad.append(puntos)
    primer_puntos = [0] * 3
    for i in range(len(primer_puntos)):
        primer_puntos[i] = actividad[0][i]
    for i in range(1, n):
        siguiente = [0] * 3
        for j in range(3):
            for k in range(3):
                if j != k:
                    siguiente[j] = max(siguiente[j], primer_puntos[k] + actividad[i][j])
        primer_puntos = siguiente
    print((max(primer_puntos)))


if __name__ == "__main__":
    main()

n = int(eval(input()))
felicidade = []
for x in range(n):
    felicidade.append(list(map(int, input().split())))
DP = [0, 0, 0]
if n == 1:
    print((max(felicidade[0])))
else:
    for x in range(3):
        DP[x] = felicidade[0][x]
    for dia in range(1, n):
        m = [0] * 3
        for x in range(3):  # As duas possíveis escolhas são x e y
            for y in range(3):
                if x != y:  # Se elas forem diferentes
                    m[x] = max(m[x], DP[y] + felicidade[dia][x])
        DP = m
    print((max(DP)))

-def main(): -    n = int(eval(input())) -    actividad = [] -    for i in range(n): -        puntos = list(map(int, input().split())) -        actividad.append(puntos) -    primer_puntos = [0] * 3 -    for i in range(len(primer_puntos)): -        primer_puntos[i] = actividad[0][i] -    for i in range(1, n): -        siguiente = [0] * 3 -        for j in range(3): -            for k in range(3): -                if j != k: -                    siguiente[j] = max(siguiente[j], primer_puntos[k] + actividad[i][j]) -        primer_puntos = siguiente -    print((max(primer_puntos))) - - -if __name__ == "__main__": -    main() +n = int(eval(input())) +felicidade = [] +for x in range(n): +    felicidade.append(list(map(int, input().split()))) +DP = [0, 0, 0] +if n == 1: +    print((max(felicidade[0]))) +else: +    for x in range(3): +        DP[x] = felicidade[0][x] +    for dia in range(1, n): +        m = [0] * 3 +        for x in range(3):  # As duas possíveis escolhas são x e y +            for y in range(3): +                if x != y:  # Se elas forem diferentes +                    m[x] = max(m[x], DP[y] + felicidade[dia][x]) +        DP = m +    print((max(DP)))