#include<stdio.h>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<stdlib.h>
#include<math.h>
#include<set>
#include<map>
#include<vector>
using namespace std;
int ga,sa,ba,gb,sb,bb,i;
long long f[25000005],n;
int main()
{
	cin>>n;
	scanf("%d %d %d",&ga,&sa,&ba);
	scanf("%d %d %d",&gb,&sb,&bb);
	for(i=ga;i<=n;i++)
		f[i]=max(f[i],f[i-ga]+gb);
	for(i=sa;i<=n;i++)
		f[i]=max(f[i],f[i-sa]+sb);
	for(i=ba;i<=n;i++)
		f[i]=max(f[i],f[i-ba]+bb);
	long long nn=n;
	for(i=1;i<=nn;i++)
		n=max(n,nn+f[i]-i);
	memset(f,0,sizeof(f));
	for(i=gb;i<=n;i++)
		f[i]=max(f[i],f[i-gb]+ga);
	for(i=sb;i<=n;i++)
		f[i]=max(f[i],f[i-sb]+sa);
	for(i=bb;i<=n;i++)
		f[i]=max(f[i],f[i-bb]+ba);
	nn=n;
	for(i=1;i<=nn;i++)
		n=max(n,nn+f[i]-i);
	cout<<n<<endl;
}
