output_description: Print Joisino's maximum possible eventual happiness.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N M
      A_1 A_2 ... A_{N-1}
      B_{1,1} B_{1,2} ... B_{1,M}
      B_{2,1} B_{2,2} ... B_{2,M}
      :
      B_{N,1} B_{N,2} ... B_{N,M}
attempt: import sys
  read = sys.stdin.buffer.read
  readline = sys.stdin.buffer.readline
  readlines = sys.stdin.buffer.readlines
  
  N,M = map(int,readline().split())
  A = [0]+list(map(int,readline().split()))
  B = list(map(int,read().split()))
  
  for i in range(1,N):
      A[i] += A[i-1]
  
  ticket_sum = [0]*(N*N)
  
  # 各区間 [L,R] に対して、採用される点数を見る
  for n in range(M):
      arr = B[n::M]
      # 安いチケットから入れていく -> 連結成分上で採用される
      left = list(range(N))
      right = list(range(N))
      filled = [False]*(N+1)
      for i in sorted(range(N), key=arr.__getitem__):
          filled[i] = True
          l = i if (not filled[i-1]) else left[i-1]
          r = i if (not filled[i+1]) else right[i+1]
          left[r] = l; right[l] = r
          # [l,i] x [i,r] に arr[i] を加える
          x = arr[i]
          ticket_sum[l*N+i]+=x
          if i<N-1:
              ticket_sum[(i+1)*N+i]-=x
          if r<N-1:
              ticket_sum[l*N+r+1]-=x
  	        if i<N-1:
                  ticket_sum[(i+1)*N+r+1]+=x
  
  # 2d累積和
  for i in range(N,N*N):
      ticket_sum[i] += ticket_sum[i-N]
  for i in range(N*N):
      if i%N:
          ticket_sum[i] += ticket_sum[i-1]
  
  answer = 0
  for i in range(N):
      x = A[i]
      for y,t in zip(A[i:],ticket_sum[N*i+i:N*i+N]):
          happy = x-y+t
          if answer < happy:
              answer = happy
  
  print(answer)
  
problem_description: Statement
  
  There are N barbecue restaurants along a street. The restaurants are numbered
  1 through N from west to east, and the distance between restaurant i and
  restaurant i+1 is A_i.
  
  Joisino has M tickets, numbered 1 through M. Every barbecue restaurant offers
  barbecue meals in exchange for these tickets. Restaurant i offers a meal of
  _deliciousness_ B_{i,j} in exchange for ticket j. Each ticket can only be used
  once, but any number of tickets can be used at a restaurant.
  
  Joisino wants to have M barbecue meals by starting from a restaurant of her
  choice, then repeatedly traveling to another barbecue restaurant and using
  unused tickets at the restaurant at her current location. Her eventual
  _happiness_ is calculated by the following formula: "(The total deliciousness
  of the meals eaten) - (The total distance traveled)". Find her maximum
  possible eventual happiness.
samples: [{"input": "3 4\n    1 4\n    2 2 5 1\n    1 3 3 2\n    2 2 5 1", "output": "11\n    \n\nThe eventual happiness can be maximized by the following strategy: start from\nrestaurant 1 and use tickets 1 and 3, then move to restaurant 2 and use\ntickets 2 and 4.\n\n* * *"}, {"input": "5 3\n    1 2 3 4\n    10 1 1\n    1 1 1\n    1 10 1\n    1 1 1\n    1 1 10", "output": "20"}]