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



# Cを買った個数とA、B単品で買った場合のコストを愚直に試す

total = 1<<60

for i in range(10**5+1):

  cost = 2*C*i + max(X-i, 0)*A + max(Y-i, 0)*B

  total = min(cost, total)



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



if (A+B) <= 2*C: # 単品だけで購入

  print((X*A + Y*B))

else:

  # ABを買い残りを単品で補う

  if X >= Y:

    # ABでYは賄える

    print((min(X*2*C, Y*2*C + A*(X-Y))))

  else:

    # ABでXは賄える

    print((min(Y*2*C, X*(2*C)+B*(Y-X))))
A, B, C, X, Y = list(map(int, input().split()))
# Cを買った個数とA、B単品で買った場合のコストを愚直に試す
total = 1 << 60
for i in range(10**5 + 1):
    cost = 2 * C * i + max(X - i, 0) * A + max(Y - i, 0) * B
    total = min(cost, total)
print(total)

A, B, C, X, Y = list(map(int, input().split()))
if (A + B) <= 2 * C:  # 単品だけで購入
    print((X * A + Y * B))
else:
    # ABを買い残りを単品で補う
    if X >= Y:
        # ABでYは賄える
        print((min(X * 2 * C, Y * 2 * C + A * (X - Y))))
    else:
        # ABでXは賄える
        print((min(Y * 2 * C, X * (2 * C) + B * (Y - X))))

-# Cを買った個数とA、B単品で買った場合のコストを愚直に試す -total = 1 << 60 -for i in range(10**5 + 1): -    cost = 2 * C * i + max(X - i, 0) * A + max(Y - i, 0) * B -    total = min(cost, total) -print(total) +if (A + B) <= 2 * C:  # 単品だけで購入 +    print((X * A + Y * B)) +else: +    # ABを買い残りを単品で補う +    if X >= Y: +        # ABでYは賄える +        print((min(X * 2 * C, Y * 2 * C + A * (X - Y)))) +    else: +        # ABでXは賄える +        print((min(Y * 2 * C, X * (2 * C) + B * (Y - X))))