"use strict";
function Main(input) {
  var parseInputData = parseInput(input);
  resultValue(parseInputData);
}
var parseInput = (input) => {
  const lines = input.split(" ");
  //Aピザの価格
  const valuePizzaA = parseInt(lines[0], 10);
  //Bピザの価格
  const valuePizzaB = parseInt(lines[1], 10);
  //ABピザの価格
  const valuePizzaAB = parseInt(lines[2], 10);
  //必要なAピザの枚数
  const needQuantityPizzaA = parseInt(lines[3], 10);
  //必要なBピザの枚数
  const needQuantityPizzaB = parseInt(lines[4], 10);
  return { valuePizzaA: valuePizzaA, valuePizzaB: valuePizzaB, valuePizzaAB: valuePizzaAB, needQuantityPizzaA: needQuantityPizzaA, needQuantityPizzaB: needQuantityPizzaB};
}

//ピザの組み合わせの最安価を出力する
var resultValue = (parseInputData) => {
  parseInputData.valuePizzaAB > (parseInputData.valuePizzaA + parseInputData.valuePizzaB)/2 ?
  console.log(parseInputData.valuePizzaA * parseInputData.needQuantityPizzaA + parseInputData.valuePizzaB * parseInputData.needQuantityPizzaB) : 
  usePizzaABValue(parseInputData)
}

//ピザABを使用する場合の最安価を出力
var usePizzaABValue = (parseInputData) => {
  const needAmountPizzaAB= (parseInputData.needQuantityPizzaA > parseInputData.needQuantityPizzaB ?
    parseInputData.needQuantityPizzaB*2 : parseInputData.needQuantityPizzaA*2);
  console.log(parseInputData.needQuantityPizzaA > parseInputData.needQuantityPizzaB ?
    needAmountPizzaAB * parseInputData.valuePizzaAB + parseInputData.valuePizzaA * (parseInputData.needQuantityPizzaA - parseInputData.needQuantityPizzaB) :
    needAmountPizzaAB * parseInputData.valuePizzaAB + parseInputData.valuePizzaB * (parseInputData.needQuantityPizzaB - parseInputData.needQuantityPizzaA)
  )
}

Main(require("fs").readFileSync("/dev/stdin", "utf8"));