#if __has_include() #include using namespace atcoder; #else #include #if __has_include() #include using namespace atcoder; #endif #endif using namespace std; #define int long long #define all(x) (x).begin(), (x).end() #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rrep(i, n) for(int i = (int)((n) - 1); i >= 0; i--) template bool chmax(T &a,const T &b){if(a bool chmin(T &a,const T &b){if(a>b){a=b;return true;}return false;} // using mint = modint; signed main(){ int r, p, q, d; vector abc(3); cin >> r >> p >> q; for(auto&& i : abc) cin >> i; cin >> d; sort(all(abc)); int ans1 = min(r / p, abc.front()); r -= p * ans1; for(auto&& i : abc) i -= ans1; int ans2 = min({abc.at(1) - abc.at(0), r / (q + p), d}); r -= (q + p) * ans2; d -= ans2; int ans3 = min({abc.at(2) - abc.at(1), r / (2 * q + p), d}); r -= (2 * q + p) * ans3; d -= ans3; int ans4 = min({r / (3 * q + p), d}); r -= (3 * q + p) * ans4; d -= ans4; println("{}", ans1 + ans2 + ans3 + ans4); } /* min(r / p, a, b, c)人はできる 後は少ない順に補充しながら作る感じになる a<=b<=cと仮定すると、 b-a回、1回につきq+pで作れる c-a回、1回につき2q+pで作れる inf回、1回につき3q+pで作れる */