using System;
using System.Collections.Generic;
using System.Linq;
namespace Paiza
{
    class Program
    {
        public static void Main(string[] args)
        {
            if (true)
            {
                vacation();
            }
           

        }

        private static void vacation()
        {

            var n = int.Parse(Console.ReadLine());
            var abc = Enumerable.Range(0, n).Select(x => Console.ReadLine().Split(' ').Select(y => int.Parse(y)).ToArray()).ToArray();

            var dp = new int[n, 3];

            int max = -1;
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    for (int k = 0; k < 3; k++)
                    {
                        if (j == k)
                        {
                            continue;
                        }
                        if (i>0)
                        {
                            dp[i, k] = Math.Max(dp[i, k], dp[i - 1, j] + abc[i][k]);

                        }
                        else
                        {
                            dp[i, k] = Math.Max(dp[i, k], abc[i][k]);
                        }

                     }
                }
            }
            max = 0;
            for (int i = 0; i < 3; i++)
            {
                max = Math.Max(max, dp[n - 1, i]);
            }

            Console.WriteLine(max);
        }

        /// <summary>
        /// 動的計画法
        /// </summary>
        private static void frog1()
        {
            var nm = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            var n = nm[0];
            var m = nm[1];
            var k = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();

            var dp = new int[n].Select(x => int.MaxValue / 2).ToArray();

            dp[0] = 0;
            for (int i = 0; i < n; i++)
            {
                for (int j = 1; j <= m; j++)
                {
                    if (i - j < 0) 
                    {
                        continue;
                    }
                    else
                    {
                        dp[i] = Math.Min(dp[i], dp[i - j] + Math.Abs(k[i] - k[i - j]));
                    }
                }
            }

            Console.WriteLine(dp[n - 1]);
        }

        private static void dp1()
        {

            var a = new int[50 + 1];
            var dp = new int[50 + 1];

            var n = int.Parse(Console.ReadLine());

            a[0] = 2;
            a[1] = 3;
            dp[0] = a[0];
            for (int i = 2; i < n; i++)
            {
                a[i] = a[i - 2] + a[i - 1];
            }
            Console.WriteLine(a[n - 1]);
        }

        private static void abc130_c()
        {

            var WHxy = Console.ReadLine().Split(' ').Select(s => int.Parse(s)).ToArray();
            var W = WHxy[0];
            var H = WHxy[1];
            var x = WHxy[2];
            var y = WHxy[3];

        }

        private static void abc130_b()
        {

            var NX = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            var N = NX[0];
            var X = NX[1];

            var L = Enumerable.Range(0, 1).Concat(Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray());
            //L = Enumerable.Range(0, 1).Select(x => x).Concat(L).ToArray();
            var counter = 0;

            var D = 0;
            foreach (var item in L)
            {

                D += item;

                if (D > X)
                {
                    break;
                }
                counter++;
            }

            Console.WriteLine(counter);
        }

        private static void arc089_a()
        {
            var N = int.Parse(Console.ReadLine());
            var t = Enumerable.Range(0, N).Select(x => Console.ReadLine().Split(' ').Select(y => int.Parse(y)).ToArray()).ToArray();

            int[] prev = new int[] { 0, 0, 0 };
            foreach (var item in t)
            {
                var dt = item[0] - prev[0];
                var dist = Math.Abs(item[1] - prev[1]) + Math.Abs(item[2] - prev[2]);
                var parity = item[0] % 2 == 0;
                if (dist > Math.Abs(item[0] - prev[0]))
                {
                    Console.WriteLine("No");
                    return;
                }

                if (dist % 2 != dt % 2)
                {
                    Console.WriteLine("No");
                    return;
                }

                prev = item;
            }

            Console.WriteLine("Yes");

        }
}}

Measured memory_bytes: 27824