#ifdef NACHIA
#define _GLIBCXX_DEBUG
#else
#define NDEBUG
#endif
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using i64 = long long;
using u64 = unsigned long long;
#define rep(i,n) for(i64 i=0; i<i64(n); i++)
const i64 INF = 1001001001001001001;
template<typename A> void chmin(A& l, const A& r){ if(r < l) l = r; }
template<typename A> void chmax(A& l, const A& r){ if(l < r) l = r; }
using namespace std;


void testcase(){
    vector<i64> A(4), B(4);
    rep(i,4) cin >> A[i];
    rep(i,4) cin >> B[i];
    vector<i64> I(4); rep(i,4) I[i] = i;
    sort(I.begin(), I.end(), [&](i64 l, i64 r){ return B[l] < B[r]; });
    i64 t; cin >> t;
    i64 ans = 0;
    for(i64 i : I){
        i64 f = t / B[i];
        chmin(f, A[i]);
        ans += f;
        t -= B[i] * f;
    }
    cout << ans << endl;
}

int main(){
    ios::sync_with_stdio(false); cin.tie(nullptr);
    rep(f,1) testcase();
    return 0;
}