#include <bits/stdc++.h>
inline long long read() {
  long long x = 0, f = 1;
  char c = getchar();
  for (; c > '9' || c < '0'; c = getchar()) {
    if (f == '-') f = -1;
  }
  for (; c >= '0' && c <= '9'; c = getchar()) {
    x = x * 10 + c - '0';
  }
  return x * f;
}
inline void work() {
  int a = read(), b = read(), c = read(), d = read(), e = read(), f = read(),
      ans = 0;
  b = std::min(b, c);
  if (e > f) {
    a = std::min(a, d);
    ans = e * a;
    ans += f * std::min(b, d - a);
    printf("%d\n", ans);
  } else {
    b = std::min(b, d);
    ans = f * b;
    ans += e * std::min(a, d - b);
    printf("%d\n", ans);
  }
}
int main() {
  work();
  return 0;
}
