One day Vasya got hold of information on the Martian dollar course in bourles for the next *n* days. The buying prices and the selling prices for one dollar on day *i* are the same and are equal to *a*<sub class="lower-index">*i*</sub>. Vasya has *b* bourles. He can buy a certain number of dollars and then sell it no more than once in *n* days. According to Martian laws, one can buy only an integer number of dollars. Which maximal sum of money in bourles can Vasya get by the end of day *n*?
The first line contains two integers *n* and *b* (1 ≤ *n*, *b* ≤ 2000) — the number of days and the initial number of money in bourles. The next line contains *n* integers *a*<sub class="lower-index">*i*</sub> (1 ≤ *a*<sub class="lower-index">*i*</sub> ≤ 2000) — the prices of Martian dollars.
str1 = input().split()
n = (int)(str1[0])
b = (int)(str1[1])
str2 = input().split()
for x in range(n):
    str2[x] = (int)(str2[x])
minimum = list()
maximum = list()
ans = 0
if(str2 == sorted(str2,reverse=True)):
    print (b)
elif (str2 == sorted(str2)):
    print (b - ((int)(b/str2[0]) * str2[0]) + ((int)(b/str2[0]) * str2[len(str2) - 1]))
else:
    for x in range(n-1):
        if(str2[x+1] > str2[x]):
            minimum.append(x)
    for x in range(n-1):
        if(str2[x+1] < str2[x]):
            maximum.append(x)
    maximum.append(n-1)
    for x in minimum:
        for y in maximum:
            if(x < y):
                v1 = b - ((int)(b/str2[x]) * str2[x]) + ((int)(b/str2[x]) * str2[y])
                ans = max(v1,ans)
    print (ans)