//#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
typedef long long ll;
#define FOR(i,a,b) for(ll i=(a);i<(b);i++)
#define REP(i,a) FOR(i,0,a)
using namespace std;
const ll MAX_N=5000,MAX_GSB=5000;
ll N,gsb[3][2],dp[MAX_N*MAX_GSB+1];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin>>N;
	REP(i,2)REP(j,3)cin>>gsb[j][i];
	REP(i,2){
		dp[0]=0;
		FOR(j,1,MAX_N*MAX_GSB+1){
			dp[j]=dp[j-1]+1;
			REP(k,3){
				if(gsb[k][i]<=j){
					dp[j]=max(dp[j],gsb[k][1-i]+dp[j-gsb[k][i]]);
				}
			}
		}
		N=dp[N];
	}
	cout<<N<<endl;
}