# Arup Guha
# 9/1/2026
# Solution to 2026 UCF Locals Problem: Interfalactic Currencies

# Get input, sort.
toks = input().split()
n = int(toks[0])
v = int(toks[1])
vals = [int(x) for x in input().split()]
vals.sort()

# Accumulators.
tot = 0
res = 0

# Go through coins.
for i in range(n-1):

    # Just get out, we have enough $
    if tot >= v:
        break

    # How much I need to get to the next coin value, minus 1
    need = min(v-tot-1,vals[i+1]-tot-1)
    if need < 0:
        need = 0

    # Do ceiling function here.
    minAdd = (need + vals[i]-1)//vals[i]

    # Add this.
    res += minAdd
    tot += minAdd*vals[i]

# Just in case I don't have enough, use as many as the last coin as possible.
if tot < v:
    need = v - tot
    minAdd = (need+vals[-1]-1)//vals[-1]
    res += minAdd

# Ta da!
print(res)
