俄罗斯方块
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

        俄罗斯方块是由四个正方形边对边拼接而成的图形。我们将以下七种俄罗斯方块分别称为 I 型、O 型、T 型、J 型、L 型、S 型和 Z 型俄罗斯方块:


        小七喜欢玩俄罗斯方块,所以她有很多俄罗斯方块,slmhh也喜欢玩俄罗斯方块,他得知小七有很多俄罗斯方块,就把小七的T 型、S 型和 Z 型俄罗斯方块全借走了小七拥有的 I 型、O 型、T 型、J 型、L 型、S 型和 Z 型俄罗斯方块数量分别为 a_Ia_Oa_Ta_Ja_La_Sa_Z (a_T = a_S = a_Z = 0)。她将把 K 个俄罗斯方块按以下规则拼成一个22K的矩形(并不一定要用到所有俄罗斯方块):
  • 放置每个俄罗斯方块时,允许旋转,但不允许翻转;
  • 矩形中的每个方格必须正好被一个俄罗斯方块覆盖;
  • 每块俄罗斯方块的任何部分都不得超出矩形范围。
        小七想组成一个尽可能大的矩形。请找出 K 的最大可能值。

输入描述:

    一行输入七个正整数 a_Ia_Oa_Ta_Ja_La_Sa_Z (0 \leq a_I,a_O,a_J,a_L \leq 10^9 ,a_T = a_S = a_Z = 0),分别表示小七拥有的 I 型、O 型、T 型、J 型、L 型、S 型和 Z 型俄罗斯方块数量。

输出描述:

    在一行输出一个正整数,表示 K 的最大可能值。如果没有可以形成的矩形,输出  0
示例1

输入

复制
2 1 0 0 0 0 0

输出

复制
3

说明

对于样例一,一种可能的结果如下:

示例2

输入

复制
0 0 0 2 2 0 0

输出

复制
4
示例3

输入

复制
1 0 0 2 2 0 0

输出

复制
4