#include <iostream>
using namespace std;
int main()
{
int a[7];
int pnum;
while(cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6],a[1]||a[2]||a[3]||a[4]||a[5]||a[6])
{
int i,j;
pnum=a[6]+a[5]+a[4]+a[3]/4;
if(a[3]%4!=0) //此处要细心,当不能整除时,包裹数目增加一个
pnum++;
if(a[5]*11>a[1])
a[1]=0;
else
a[1]-=11*a[5];
if(a[4]*5>=a[2]) //先用2*2填
{
if(a[1]>4*(a[4]*5-a[2])) //剩余的用1*1填
a[1]-=(4*a[4]*5-a[2]*4);
else
a[1]=0;
a[2]=0;
}
else
a[2]-=a[4]*5;
if(a[3]%4!=0)
{
int num=(a[3]/4+1)*4-a[3]; //剩余3*3没有填满的部分的个数
if(2*num-1>a[2]) //先用2*2填
{
if(a[1]>9*num-a[2]*4) //剩余的用1*1填
a[1]-=9*num-a[2]*4;
else
a[1]=0;
a[2]=0;
}
else
{
a[2]-=2*num-1;
if(a[1]>9*num-(2*num-1)*4)
a[1]-=9*num-(2*num-1)*4;
else
a[1]=0;
}
}
int area=a[2]*4+a[1];
pnum+=area/36;
if(area%36!=0)
pnum+=1;
printf("%d\n",pnum);
}
return 0;
}
using namespace std;
int main()
{
int a[7];
int pnum;
while(cin>>a[1]>>a[2]>>a[3]>>a[4]>>a[5]>>a[6],a[1]||a[2]||a[3]||a[4]||a[5]||a[6])
{
int i,j;
pnum=a[6]+a[5]+a[4]+a[3]/4;
if(a[3]%4!=0) //此处要细心,当不能整除时,包裹数目增加一个
pnum++;
if(a[5]*11>a[1])
a[1]=0;
else
a[1]-=11*a[5];
if(a[4]*5>=a[2]) //先用2*2填
{
if(a[1]>4*(a[4]*5-a[2])) //剩余的用1*1填
a[1]-=(4*a[4]*5-a[2]*4);
else
a[1]=0;
a[2]=0;
}
else
a[2]-=a[4]*5;
if(a[3]%4!=0)
{
int num=(a[3]/4+1)*4-a[3]; //剩余3*3没有填满的部分的个数
if(2*num-1>a[2]) //先用2*2填
{
if(a[1]>9*num-a[2]*4) //剩余的用1*1填
a[1]-=9*num-a[2]*4;
else
a[1]=0;
a[2]=0;
}
else
{
a[2]-=2*num-1;
if(a[1]>9*num-(2*num-1)*4)
a[1]-=9*num-(2*num-1)*4;
else
a[1]=0;
}
}
int area=a[2]*4+a[1];
pnum+=area/36;
if(area%36!=0)
pnum+=1;
printf("%d\n",pnum);
}
return 0;
}