#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=5000*5000+100;
long long f[N];
void add(int w,int c)
{
	if(c<=0) return;
	for(int i=0;i<=5000*5000-w;i++)
	{
		f[i+w]=max(f[i+w],f[i]+c);
	}
	
}
int main()
{
	int n,ga,gb,sa,sb,ba,bb;
	cin>>n>>ga>>sa>>ba>>gb>>sb>>bb;
	memset(f,0,sizeof(f));
	add(ga,gb-ga);add(sa,sb-sa);add(ba,bb-ba);
	n=n+f[n];
	memset(f,0,sizeof(f));
	add(gb,ga-gb);add(sb,sa-sb);add(bb,ba-bb);
	cout<<n+f[n]<<endl;
	return 0;
}