output_description: Print the maximum possible total points of happiness that Taro gains.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      a_1 b_1 c_1
      a_2 b_2 c_2
      :
      a_N b_N c_N
attempt: # -*- coding: utf-8 -*-
  import sys
  import math
  import os
  import itertools
  import string
  import heapq
  import _collections
  from collections import Counter
  from collections import defaultdict
  from functools import lru_cache
  import bisect
  import re
  import queue
  
  
  class Scanner:
      @staticmethod
      def int():
          return int(sys.stdin.readline().rstrip())
  
      @staticmethod
      def string():
          return sys.stdin.readline().rstrip()
  
      @staticmethod
      def map_int():
          return [int(x) for x in Scanner.string().split()]
  
      @staticmethod
      def string_list(n):
          return [input() for i in range(n)]
  
      @staticmethod
      def int_list_list(n):
          return [Scanner.map_int() for i in range(n)]
  
      @staticmethod
      def int_cols_list(n):
          return [int(input()) for i in range(n)]
  
  
  class Math:
      @staticmethod
      def gcd(a, b):
          if b == 0:
              return a
          return Math.gcd(b, a % b)
  
      @staticmethod
      def lcm(a, b):
          return (a * b) // Math.gcd(a, b)
  
      @staticmethod
      def roundUp(a, b):
          return -(-a // b)
  
      @staticmethod
      def toUpperMultiple(a, x):
          return Math.roundUp(a, x) * x
  
      @staticmethod
      def toLowerMultiple(a, x):
          return (a // x) * x
  
      @staticmethod
      def nearPow2(n):
          if n <= 0:
              return 0
          if n & (n - 1) == 0:
              return n
          ret = 1
          while n > 0:
              ret <<= 1
              n >>= 1
          return ret
  
      @staticmethod
      def sign(n):
          if n == 0:
              return 0
          if n < 0:
              return -1
          return 1
  
      @staticmethod
      def isPrime(n):
          if n < 2:
              return False
          if n == 2:
              return True
          if n % 2 == 0:
              return False
          d = int(n**0.5) + 1
          for i in range(3, d + 1, 2):
              if n % i == 0:
                  return False
          return True
  
  
  class PriorityQueue:
      def __init__(self, l=[]):
          self.__q = l
          heapq.heapify(self.__q)
          return
  
      def push(self, n):
          heapq.heappush(self.__q, n)
          return
  
      def pop(self):
          return heapq.heappop(self.__q)
  
  
  MOD = int(1e09) + 7
  INF = int(1e15)
  
  
  def main():
      # sys.stdin = open("sample.txt")
      N = Scanner.int()
      A = [Scanner.map_int() for _ in range(N)]
      dp = [[0 for _ in range(3)] for _ in range(N)]
      dp[0][0], dp[0][1], dp[0][2] = A[0]
      print(dp)
      for i in range(1, N):
          for c in range(3):
              dp[i][c] = max(dp[i][c], dp[i - 1][(c + 1) % 3] + A[i][c])
              dp[i][c] = max(dp[i][c], dp[i - 1][(c + 2) % 3] + A[i][c])
      print(max(dp[N - 1]))
  
  
  if __name__ == "__main__":
      main()
  
problem_description: Statement
  
  Taro's summer vacation starts tomorrow, and he has decided to make plans for
  it now.
  
  The vacation consists of N days. For each i (1 \leq i \leq N), Taro will
  choose one of the following activities and do it on the i-th day:
  
    * A: Swim in the sea. Gain a_i points of happiness.
    * B: Catch bugs in the mountains. Gain b_i points of happiness.
    * C: Do homework at home. Gain c_i points of happiness.
  
  As Taro gets bored easily, he cannot do the same activities for two or more
  consecutive days.
  
  Find the maximum possible total points of happiness that Taro gains.
samples: [{"input": "3\n    10 40 70\n    20 50 80\n    30 60 90", "output": "210\n    \n\nIf Taro does activities in the order C, B, C, he will gain 70 + 50 + 90 = 210\npoints of happiness.\n\n* * *"}, {"input": "1\n    100 10 1", "output": "100\n    \n\n* * *"}, {"input": "7\n    6 7 8\n    8 8 3\n    2 5 2\n    7 8 6\n    4 6 8\n    2 3 4\n    7 5 1", "output": "46\n    \n\nTaro should do activities in the order C, A, B, A, C, B, A."}]