//fast i/o functions will not work for negative values
#include<bits/stdc++.h>
using namespace std;
typedef long long lo;
typedef pair<lo,lo> ll;//pair
typedef vector<lo> vl; //vector of long
typedef vector<ll > vll; //vector of pair
typedef priority_queue<lo>p_q;
#define mp(a,b) make_pair((a),(b))
#define REP(a,b) for(lo i=(a);i<(b);i++)//no need to declare variable i
#define REPE(a,b,c,d) REP(a,b)for(lo j=(c);j<(d);j++)//no need to declare vaiables i,j
#define REPV(a,b,c) for((a)=b;(a)<(c);(a)++)//a is the variable
#define IREP(a,b) for(lo i=(a);i>=(b);i--)
#define IREPV(a,b,c) for((a)=b;(a)>=(c);(a)--)
#define all(v) (v).begin(),(v).end()
#define TRvl(c) for (vl::iterator it = (c).begin(); it != (c).end(); it++)
#define TRvll(c) for (vll::iterator it = (c).begin(); it != (c).end(); it++)
#define INF 2000000000
#define gc getchar_unlocked
#define pc putchar_unlocked
#define pb(a) push_back((a))
#define MOD 1000000000000000007
#define PI 3.14159265
int main(){
lo t,n,i,j,temp,flag;
lo q,h,s,d;
cin>>q>>h>>s>>d;
vector <pair<lo,lo> > v;
v.pb(mp(q*8,1));
v.pb(mp(h*4,2));
v.pb(mp(s*2,3));
v.pb(mp(d,4));
lo a[5]={0,1,2,4,8};
lo b[5]={0,q,h,s,d};
sort(v.begin(),v.end());
cin>>n;
n*=4;
lo sum=0;
sum+=(n/a[v[0].second])*b[v[0].second];
n=n%a[v[0].second];
sum+=(n/a[v[1].second]) *b[v[1].second];
n=n%a[v[1].second];
sum+=(n/a[v[2].second])*b[v[2].second];
n=n%a[v[2].second];
sum+=(n/a[v[3].second])*b[v[3].second];
n=n%a[v[3].second];
cout<<sum<<endl;
return 0;
}