output_description: Print the maximum possible sum of the chosen elements.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 ... A_N
attempt: n = input()
  List = list(map(int, input().split()))
  
  
  def find(List):
      if len(List) == 1:
          return int(List[0])
      elif len(List) == 3:
          if List[0] >= List[1]:
              if List[0] >= List[2]:
                  return int(List[0])
              else:
                  if List[1] >= List[2]:
                      return int(List[1])
                  else:
                      return int(List[2])
          else:
              if List[1] >= List[2]:
                  return int(List[1])
              else:
                  if List[0] >= List[2]:
                      return int(List[0])
                  else:
                      return int(List[2])
      else:
          if len(List) == 2:
              if List[0] >= List[1]:
                  return int(List[0])
              else:
                  return int(List[1])
          else:
              if len(List) % 2 == 0:
                  List2 = []
                  List3 = []
                  for i in range(0, len(List) - 2):
                      List2.append(List[i])
                  for i in range(0, len(List) - 3):
                      List3.append(List[i])
                  sub1 = int(int(List[len(List) - 1]) + find(List2))
                  sub2 = int(int(List[len(List) - 2]) + find(List3))
                  if sub1 >= sub2:
                      return sub1
                  else:
                      return sub2
              else:
                  List2 = []
                  List3 = []
                  for i in range(0, len(List) - 2):
                      List2.append(List[i])
                  for i in range(0, len(List) - 3):
                      List3.append(List[i])
                  sub1 = int(int(List[len(List)] - 1) + find(List2))
                  sub2 = int(int(List[len(List) - 2]) + find(List3))
                  sub3 = 0
                  for i in range(0, len(List) // 2):
                      sub3 += List[2 * i]
                  if sub1 >= sub2:
                      if sub1 >= sub3:
                          return sub1
                      else:
                          if sub3 >= sub2:
                              return sub3
                          else:
                              return sub2
                  else:
                      if sub2 >= sub3:
                          return sub2
                      else:
                          if sub3 >= sub1:
                              return sub3
                          else:
                              return sub1
  
  
  print(find(List))
  
problem_description: Statement
  
  Given is an integer sequence A_1, ..., A_N of length N.
  
  We will choose exactly \left\lfloor \frac{N}{2} \right\rfloor elements from
  this sequence so that no two adjacent elements are chosen.
  
  Find the maximum possible sum of the chosen elements.
  
  Here \lfloor x \rfloor denotes the greatest integer not greater than x.
samples: [{"input": "6\n    1 2 3 4 5 6", "output": "12\n    \n\nChoosing 2, 4, and 6 makes the sum 12, which is the maximum possible value.\n\n* * *"}, {"input": "5\n    -1000 -100 -10 0 10", "output": "0\n    \n\nChoosing -10 and 10 makes the sum 0, which is the maximum possible value.\n\n* * *"}, {"input": "10\n    1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000 1000000000", "output": "5000000000\n    \n\nWatch out for overflow.\n\n* * *"}, {"input": "27\n    18 -28 18 28 -45 90 -45 23 -53 60 28 -74 -71 35 -26 -62 49 -77 57 24 -70 -93 69 -99 59 57 -49", "output": "295"}]