#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std ;
#define mem(a,b) memset(a,b,sizeof(a))
const int maxn=100005 ;
const int inf=0x3f3f3f3f ;
int sup[maxn],temp[maxn];
int num[4 ];
int b[4 ]= {0 ,1 ,2 ,5 };
int main()
{
while (~scanf ("%d%d%d" ,&num[1 ],&num[2 ],&num[3 ]))
{
mem(sup,0 );
if (!num[1 ]&&!num[2 ]&&!num[3 ])
return 0 ;
int sum=1 *num[1 ]+2 *num[2 ]+5 *num[3 ];
for (int i=0 ; i<=num[1 ]; i++)
{
sup[i]=1 ;
temp[i]=0 ;
}
int maxx=num[1 ];
for (int i=2 ; i<=3 ; i++)
{
int gg=maxx;
for (int j=0 ; j<=gg; j++)
{
for (int k=0 ; k<=num[i]; k++)
{
int kk=k*b[i];
temp[kk+j]+=sup[j];
maxx=max(kk+j,maxx);
}
}
for (int j=0 ; j<=maxx; j++)
{
sup[j]=temp[j];
temp[j]=0 ;
}
}
int ans=0 ;
while (sup[++ans]);
printf ("%d\n" ,ans);
}
return 0 ;
}
#include<iostream>
using namespace std ;
const int maxn=130 ;
int sup[maxn],temp[maxn];
int main()
{
int target;
while (cin >>target)
{
for (int i=0 ;i<=target;i++)
{
sup[i]=1 ;
temp[i]=0 ;
}
for (int i=2 ;i<=target;i++)
{
for (int j=0 ;j<=target;j++)
{
for (int k=0 ;k+j<=target;k+=i)
{
temp[k+j]+=sup[j];
}
}
for (int j=0 ;j<=target;j++)
{
sup[j]=temp[j];
temp[j]=0 ;
}
}
cout <<sup[target]<<endl;
}
return 0 ;
}