output_description: Print the maximum possible sum of the elements of A.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      B_1 B_2 ... B_{N-1}
attempt: from collections import deque
  
  N = int(input())
  X = [list(map(int, input().split())) for _ in range(N)]
  
  graph = [[] for _ in range(N * N)]
  ins = [0] * (N * N)
  
  for i, nodes in enumerate(X):
      for j1, j2 in zip(nodes[:-1], nodes[1:]):
          n1 = max(i, j1 - 1) * N + min(i, j1 - 1)
          n2 = max(i, j2 - 1) * N + min(i, j2 - 1)
          graph[n1].append(n2)
          ins[n2] += 1
  
  dist = [0] * (N * N)
  visited = [False] * (N * N)
  q = deque()
  for i in range(N):
      visited[N * i + i] = True
  
  for i, v in enumerate(ins):
      if v == 0:
          q.append(i)
          visited[i] = True
          dist[i] = 1
  
  while q:
      u = q.popleft()
      for v in graph[u]:
          if visited[v]:
              continue
  
          ins[v] -= 1
          if ins[v] == 0:
              visited[v] = True
              dist[v] = dist[u] + 1
              q.append(v)
  
  print(max(dist) if all(visited) else -1)
  
problem_description: Statement
  
  There is an integer sequence A of length N whose values are unknown.
  
  Given is an integer sequence B of length N-1 which is known to satisfy the
  following:
  
  B_i \geq \max(A_i, A_{i+1})
  
  Find the maximum possible sum of the elements of A.
samples: [{"input": "3\n    2 5", "output": "9\n    \n\nA can be, for example, ( 2 , 1 , 5 ), ( -1 , -2 , -3 ), or ( 2 , 2 , 5 ).\nAmong those candidates, A = ( 2 , 2 , 5 ) has the maximum possible sum.\n\n* * *"}, {"input": "2\n    3", "output": "6\n    \n\n* * *"}, {"input": "6\n    0 153 10 10 23", "output": "53"}]