#include using namespace std; int main() { long long N; cin >> N; vector A(3), B(3); for (int i = 0; i < 3; i++){ cin >> A[i] >> B[i]; } auto f = [&](int x, int y) -> long long { int l = lcm(A[x], A[y]); vector dp(l + 1); for (int i = 0; i <= l; i++){ for (int j = 0; j < 3; j++){ if (i + A[j] <= l){ dp[i + A[j]] = max(dp[i + A[j]], dp[i] + B[j]); } } } return dp[l] * (N / l) + *max_element(dp.begin(), dp.begin() + (N % l) + 1); }; long long ans = max({f(0, 1), f(0, 2), f(1, 2)}); cout << ans << '\n'; }