#include <iostream>
#include <cstring>
using namespace std;
//谢谢博友文章
int main()
{
while(1)
{
int a[6];
for(int i=0;i<6;i++)
{
cin>>a[i];
}
if((a[0]==0)&&(a[1]==0)&&(a[2]==0)&&(a[3]==0)&&(a[4]==0)&&(a[5]==0))
{
break;
}
int js=0;
while(1)
{
if((a[0]==0)&&(a[1]==0)&&(a[2]==0)&&(a[3]==0)&&(a[4]==0)&&(a[5]==0))
{
break;
}
int box[6][6];
memset(box,0,sizeof(box));
for(int i=5;i>=0;i--)
{
if(a[i]>0)
{
for(int j=0;j<6;j++)
{
for(int k=0;k<6;k++)
{
int flag=0;
for(int m=0;m<i+1;m++)
{
for(int n=0;n<i+1;n++)
{
if((j+m<6)&&(k+n<6))
{
if(box[j+m][k+n]==1)
{
flag=1;
break;
}
}else
{
flag=1;
break;
}
}
if(flag==1)
{
break;
}
}
if(flag==0)
{
for(int m=0;m<i+1;m++)
{
for(int n=0;n<i+1;n++)
{
box[j+m][k+n]=1;
}
}
if(a[i]>0)
{
a[i]--;
}
}
if(a[i]==0)
{
break;
}
}
if(a[i]==0)
{
break;
}
}
}
}
js++;
/*
for(int i=0;i<6;i++)
{
cout<<a[i]<<" ";
}
cout<<" "<<js<<endl;*/
}
cout<<js<<endl;
}
return 0;
}
有1*1、2*2、3*3、4*4、5*5、6*6 尺寸的六种产品。求最少用几个6*6的箱子能装下它们。