#include <bits/stdc++.h>
using namespace std;
const int inf = 1e9 + 7;
const long long infll = 1ll << 60ll;
const long long mod = 1e9 + 7;
constexpr int dx[] = {1, 0, -1, 0, 1, 1, -1, -1};
constexpr int dy[] = {0, -1, 0, 1, 1, -1, -1, 1};
int main() {
  cin.tie(0);
  ios::sync_with_stdio(false);
  long long a, b, c, x, y;
  cin >> a >> b >> c >> x >> y;
  long long ans = 0;
  if (a + b > 2 * c) {
    while (x > 0 && y > 0) {
      x--;
      y--;
      ans += 2 * c;
    }
    if (x > 0) {
      if (a < 2 * c) {
        ans += x * a;
      } else {
        ans += x * 2 * c;
      }
    } else if (y > 0) {
      if (b < 2 * c) {
        ans += y * a;
      } else {
        ans += y * 2 * c;
      }
    }
  } else {
    long long tx = x;
    long long ty = y;
    if (tx > 0) {
      if (a < 2 * c) {
        ans += tx * a;
      } else {
        ans += tx * 2 * c;
        ty -= tx;
      }
    }
    if (ty > 0) {
      if (b < 2 * c) {
        ans += ty * b;
      } else {
        ans += ty * 2 * c;
      }
    }
    long long tmp = 0;
    if (y > 0) {
      if (b < 2 * c) {
        tmp += y * b;
      } else {
        tmp += y * 2 * c;
        x -= y;
      }
    }
    if (x > 0) {
      if (a < 2 * c) {
        tmp += x * a;
      } else {
        tmp += x * 2 * c;
        y -= x;
      }
    }
    ans = min(ans, tmp);
  }
  cout << ans << endl;
  return 0;
}
