✔️ 경우의 수
import sys
read = sys.stdin.readline
x, y, w, s = map(int, read().split())
answer = (x + y) * w # 평행 이동만 하는 경우
# 짝수, 홀수에 따라 다른 이동을 하는 경우
# 대각선 s를 활용한다.
if not (x + y) % 2:
answer = min(answer, max(x, y) * s)
else:
answer = min(answer, (max(x, y) - 1) * s + w)
# 대각선, 평행 이동을 하는 경우
answer = min(answer, min(x, y) * s + (max(x, y) - min(x, y)) * w)
print(answer)