There is a hotel with the following accommodation fee:

* X yen (the currency of Japan) per night, for the first K nights
* Y yen per night, for the (K+1)-th and subsequent nights



Tak is staying at this hotel for N consecutive nights. Find his total accommodation fee.

Constraints

* 1 \leq N, K \leq 10000
* 1 \leq Y < X \leq 10000
* N,\,K,\,X,\,Y are integers.

Input

The input is given from Standard Input in the following format:


N
K
X
Y


Output

Print Tak's total accommodation fee.

Examples

Input

5
3
10000
9000


Output

48000


Input

2
3
10000
9000


Output

20000
from Queue import * # Queue, LifoQueue, PriorityQueue
from bisect import * #bisect, insort
from collections import * #deque, Counter,OrderedDict,defaultdict
#set([]) 
import math
import copy
import itertools
import string
import sys
myread = lambda : map(int,raw_input().split())
def solver():
    N = int(raw_input())
    K = int(raw_input())
    X = int(raw_input())
    Y = int(raw_input())
    if N <= K:
        print N * X
    else:
        print K * X + (N-K) * Y 




if __name__ == "__main__":
    solver()
    
