A, B, C, X, Y = list(map(int, input().split()))

m_value = float('inf')

for ab in range(max(X, Y) + 1):

    ab2 = 2 * ab

    a = X - ab

    b = Y - ab

    tmp = C * ab2

    if a > 0:

        tmp += a * A

    if b > 0:

        tmp += b * B

    m_value = min(m_value, tmp)

print(m_value)

"""

O(1)解法

以下の3つから一番安いものを選ぶ

1. AピザとBピザをそれぞれ必要数買う場合

2. ABピザを必要数の多いピザ基準で買う場合 (2倍必要になることを忘れない)

3. ABピザを必要数の少ないピザ基準で買い、不足分のピザを買い足す場合

"""

A, B, C, X, Y = list(map(int, input().split()))

# Aピザの必要数がBピザよりも多くなるように、必要数と値段を入れ替える

if X < Y:

    X, Y = Y, X

    A, B = B, A

p1 = A * X + B * Y  # 1

p2 = 2 * C * X  # 2

p3 = 2 * C * Y + (X - Y) * A  # 3

print((min(p1, p2, p3)))

A, B, C, X, Y = list(map(int, input().split()))
m_value = float("inf")
for ab in range(max(X, Y) + 1):
    ab2 = 2 * ab
    a = X - ab
    b = Y - ab
    tmp = C * ab2
    if a > 0:
        tmp += a * A
    if b > 0:
        tmp += b * B
    m_value = min(m_value, tmp)
print(m_value)

"""
O(1)解法
以下の3つから一番安いものを選ぶ
1. AピザとBピザをそれぞれ必要数買う場合
2. ABピザを必要数の多いピザ基準で買う場合 (2倍必要になることを忘れない)
3. ABピザを必要数の少ないピザ基準で買い、不足分のピザを買い足す場合
"""
A, B, C, X, Y = list(map(int, input().split()))
# Aピザの必要数がBピザよりも多くなるように、必要数と値段を入れ替える
if X < Y:
    X, Y = Y, X
    A, B = B, A
p1 = A * X + B * Y  # 1
p2 = 2 * C * X  # 2
p3 = 2 * C * Y + (X - Y) * A  # 3
print((min(p1, p2, p3)))

+""" +O(1)解法 +以下の3つから一番安いものを選ぶ +1. AピザとBピザをそれぞれ必要数買う場合 +2. ABピザを必要数の多いピザ基準で買う場合 (2倍必要になることを忘れない) +3. ABピザを必要数の少ないピザ基準で買い、不足分のピザを買い足す場合 +""" -m_value = float("inf") -for ab in range(max(X, Y) + 1): -    ab2 = 2 * ab -    a = X - ab -    b = Y - ab -    tmp = C * ab2 -    if a > 0: -        tmp += a * A -    if b > 0: -        tmp += b * B -    m_value = min(m_value, tmp) -print(m_value) +# Aピザの必要数がBピザよりも多くなるように、必要数と値段を入れ替える +if X < Y: +    X, Y = Y, X +    A, B = B, A +p1 = A * X + B * Y  # 1 +p2 = 2 * C * X  # 2 +p3 = 2 * C * Y + (X - Y) * A  # 3 +print((min(p1, p2, p3)))