#include<stdio.h>
#define min(a,b) (a<b?a:b)
int p[3],d,e,r[3],n,i,j,res,now,all;
int main()
{
	for(;~scanf("%d%d%d%d%d%d%d%d",&p[0],&p[1],&p[2],&d,&e,&r[0],&r[1],&r[2]),p[0];)
	{
		res=now=0;
		all=r[0]+r[1]+r[2];
		now=all-all%d;
		res=now*e;
		for(i=2;i>=0;i--)
		{
			if(r[i]>now)
			{
				r[i]-=now;
				now=0;
			}
			else
			{
				now-=r[i];
				r[i]=0;
			}
		}

		for(;;)
		{
			int use[3]={0};
			now=0;
			for(i=2;i>=0;i--)
			{
				use[i]=min((d-now+r[i]-1)*e/p[i],r[i]);
				now+=use[i];
			}
			if(now*e<d*e)
				break;
			res+=d*e;
			for(i=0;i<3;i++)
				r[i]-=use[i];
		}
		for(i=0;i<2;i++)
			res+=p[i]*r[i];
		printf("%d\n",res);
	}
	return 0;
}