#include <bits/stdc++.h>
using namespace std;
int faltu = 0;
int che = 1;
int count(long long int n) {
  if (n == 0) return faltu;
  int j = n % 10;
  if (j == 0 || j == 1)
    ;
  else
    che = 0;
  n /= 10;
  faltu++;
  return count(n);
}
int N = 1e6;
vector<bool> prime(N + 1, true);
vector<int> prim;
void pri() {
  for (int i = 2; i * i <= N; i++) {
    if (prime[i]) {
      for (int j = i * i; j <= N; j += i) {
        prime[j] = false;
      }
    }
  }
  for (int i = 2; i <= N; i++) {
    if (prime[i]) prim.push_back(i);
  }
  return;
}
long long dp[200002];
void fact() {
  dp[0] = 1;
  for (int i = 1; i < 200002; i++) {
    dp[i] = (dp[i - 1] * i) % 1000000007;
  }
}
void solve() {
  long long int a, b, c, d, e, first, n, m;
  cin >> a >> b >> c >> d >> e >> first;
  long long int cost = 0;
  long long int ad = d, aa = a, ab = b, ac = c;
  cost = e * min(a, d) + first * (min(min(b, c), d - min(a, d)));
  cost = max(cost,
             (first * min(min(b, c), d) + e * min(a, d - min(min(b, c), d))));
  cout << cost << "\n";
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  { solve(); }
}
