#include #include using namespace std; using namespace atcoder; using ld = long double; using ull = unsigned long long; using P = pair; #define rep(i, n) for (int i = 0; i < (n); i++) #define rep1(i, n) for (int i = 1; i <= (n); i++) #define repp(i, m, n) for (int i = m; i < n; i++) #define elif else if #define yes cout << "Yes" << endl; #define no cout << "No" << endl; #define fi first #define se second #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(),(a).rend() #define eb emplace_back #define pb pop_back #define endl '\n' const ld pi = 3.14159265358979; const int di[] = {-1,-1,-1,0,0,1,1,1}; const int dj[] = {-1,0,1,-1,1,-1,0,1}; const int dx[] = {-1, 0, 1, 0}; const int dy[] = {0, 1, 0, -1}; template bool chmax(T1& a, T2 b) { if (a < b) { a = b; return true; } return false; } template bool chmin(T1& a, T2 b) { if (a > b) { a = b; return true; } return false; } // priority_queue, greater> pq; int main() { vector

pa(4); rep(i,4) cin >> pa[i].se; rep(i,4) cin >> pa[i].fi; sort(ALL(pa)); int t; cin >> t; int ans = 0; rep(i,4) { auto [time, cnt] = pa[i]; int slv = min(cnt, t/time); ans += slv; t -= slv*time; } cout << ans << endl; return 0; }