# https://atcoder.jp/contests/abc095/tasks/arc096_a

"""

別解(定数時間)

https://atcoder.jp/contests/abc095/submissions/10226556

"""



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



ans = float("inf")



# ABピザを2枚1組で考える -> ABセット

# i: ABセットの個数

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

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



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



AB_set = C * 2



ans = min(A*X + B*Y, AB_set*max(X,Y), AB_set*min(X,Y) + A*abs(X-min(X,Y)) + B*abs(Y-min(X,Y)))



print(ans)
# https://atcoder.jp/contests/abc095/tasks/arc096_a
"""
別解(定数時間)
https://atcoder.jp/contests/abc095/submissions/10226556
"""
A, B, C, X, Y = list(map(int, input().split()))
ans = float("inf")
# ABピザを2枚1組で考える -> ABセット
# i: ABセットの個数
for i in range(10**5 + 1):
    ans = min(ans, i * (2 * C) + max(0, X - i) * A + max(0, Y - i) * B)
print(ans)

A, B, C, X, Y = list(map(int, input().split()))
AB_set = C * 2
ans = min(
    A * X + B * Y,
    AB_set * max(X, Y),
    AB_set * min(X, Y) + A * abs(X - min(X, Y)) + B * abs(Y - min(X, Y)),
)
print(ans)

-# https://atcoder.jp/contests/abc095/tasks/arc096_a -""" -別解(定数時間) -https://atcoder.jp/contests/abc095/submissions/10226556 -""" -ans = float("inf") -# ABピザを2枚1組で考える -> ABセット -# i: ABセットの個数 -for i in range(10**5 + 1): -    ans = min(ans, i * (2 * C) + max(0, X - i) * A + max(0, Y - i) * B) +AB_set = C * 2 +ans = min( +    A * X + B * Y, +    AB_set * max(X, Y), +    AB_set * min(X, Y) + A * abs(X - min(X, Y)) + B * abs(Y - min(X, Y)), +)