output_description: Print the maximum possible value of K. If no rectangle can be formed, print
  `0`.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      a_I a_O a_T a_J a_L a_S a_Z
attempt: import sys
  import math
  from collections import defaultdict
  from bisect import bisect_left, bisect_right
  
  sys.setrecursionlimit(10**7)
  
  
  def input():
      return sys.stdin.readline()[:-1]
  
  
  mod = 10**9 + 7
  
  
  def I():
      return int(input())
  
  
  def LI():
      return list(map(int, input().split()))
  
  
  def LIR(row, col):
      if row <= 0:
          return [[] for _ in range(col)]
      elif col == 1:
          return [I() for _ in range(row)]
      else:
          read_all = [LI() for _ in range(row)]
          return map(list, zip(*read_all))
  
  
  #################
  
  # T,S,Zは使えない
  # I,J,Lを1つずつ使うと偶奇の調整ができる
  
  A = LI()
  d = defaultdict()
  name = ["I", "O", "T", "J", "L", "S", "Z"]
  for i, a in enumerate(A):
      d[name[i]] = a
  
  ans = d["O"]
  
  use = ["I", "J", "L"]
  odd = []
  even = []
  for k in use:
      if d[k] % 2:
          odd.append(k)
      else:
          even.append(k)
  
  if len(odd) == 3:
      ans += 3
      for k in use:
          ans += ((d[k] - 1) // 2) * 2
  elif len(odd) == 2:
      if d[even[0]] > 0:
          ans += 3
          for k in use:
              ans += ((d[k] - 1) // 2) * 2
      else:
          for k in use:
              ans += (d[k] // 2) * 2
  elif len(odd) == 1:
      for k in use:
          ans += (d[k] // 2) * 2
  else:
      for k in use:
          ans += (d[k] // 2) * 2
  
  print(ans)
  
problem_description: Statement
  
  A _tetromino_ is a figure formed by joining four squares edge to edge. We will
  refer to the following seven kinds of tetromino as I-, O-, T-, J-, L-, S- and
  Z-tetrominos, respectively:
  
  ![a60bcb8e9e8f22e3af51049eda063392.png](https://atcoder.jp/img/agc008/a60bcb8e9e8f22e3af51049eda063392.png)
  
  Snuke has many tetrominos. The number of I-, O-, T-, J-, L-, S- and
  Z-tetrominos in his possession are a_I, a_O, a_T, a_J, a_L, a_S and a_Z,
  respectively. Snuke will join K of his tetrominos to form a rectangle that is
  two squares tall and 2K squares wide. Here, the following rules must be
  followed:
  
    * When placing each tetromino, rotation is allowed, but reflection is not.
    * Each square in the rectangle must be covered by exactly one tetromino.
    * No part of each tetromino may be outside the rectangle.
  
  Snuke wants to form as large a rectangle as possible. Find the maximum
  possible value of K.
samples: [{"input": "2 1 1 0 0 0 0", "output": "3\n    \n\nOne possible way to form the largest rectangle is shown in the following\nfigure:\n\n![45515ed2a1dd5e41c5e4ca1f39323d8e.png](https://atcoder.jp/img/agc008/45515ed2a1dd5e41c5e4ca1f39323d8e.png)\n\n* * *"}, {"input": "0 0 10 0 0 0 0", "output": "0\n    \n\nNo rectangle can be formed."}]