N,X = list(map(int, input().split()))

M = []

for i in range(N):

    M.append(int(eval(input())))



    

ichi = sum(M)

ans = N

X -= ichi

M.sort()



i = 0

while X-M[i]>=0:

    if X - M[i] >= 0:

        X -= M[i]

        ans += 1

        continue

    

    i += 1

    

print(ans)
import sys

stdin = sys.stdin



sys.setrecursionlimit(10**5)



def li(): return list(map(int, stdin.readline().split()))

def li_(): return [int(x)-1 for x in stdin.readline().split()]

def lf(): return list(map(float, stdin.readline().split()))

def ls(): return stdin.readline().split()

def ns(): return stdin.readline().rstrip()

def lc(): return list(ns())

def ni(): return int(stdin.readline())

def nf(): return float(stdin.readline())



n,x = li()

m = []

for _ in range(n):

    m.append(ni())

    

msum = sum(m)

mmin = min(m)



print((n + (x-msum)//mmin))
N, X = list(map(int, input().split()))
M = []
for i in range(N):
    M.append(int(eval(input())))
ichi = sum(M)
ans = N
X -= ichi
M.sort()
i = 0
while X - M[i] >= 0:
    if X - M[i] >= 0:
        X -= M[i]
        ans += 1
        continue
    i += 1
print(ans)

import sys

stdin = sys.stdin
sys.setrecursionlimit(10**5)


def li():
    return list(map(int, stdin.readline().split()))


def li_():
    return [int(x) - 1 for x in stdin.readline().split()]


def lf():
    return list(map(float, stdin.readline().split()))


def ls():
    return stdin.readline().split()


def ns():
    return stdin.readline().rstrip()


def lc():
    return list(ns())


def ni():
    return int(stdin.readline())


def nf():
    return float(stdin.readline())


n, x = li()
m = []
for _ in range(n):
    m.append(ni())
msum = sum(m)
mmin = min(m)
print((n + (x - msum) // mmin))

-N, X = list(map(int, input().split())) -M = [] -for i in range(N): -    M.append(int(eval(input()))) -ichi = sum(M) -ans = N -X -= ichi -M.sort() -i = 0 -while X - M[i] >= 0: -    if X - M[i] >= 0: -        X -= M[i] -        ans += 1 -        continue -    i += 1 -print(ans) +import sys + +stdin = sys.stdin +sys.setrecursionlimit(10**5) + + +def li(): +    return list(map(int, stdin.readline().split())) + + +def li_(): +    return [int(x) - 1 for x in stdin.readline().split()] + + +def lf(): +    return list(map(float, stdin.readline().split())) + + +def ls(): +    return stdin.readline().split() + + +def ns(): +    return stdin.readline().rstrip() + + +def lc(): +    return list(ns()) + + +def ni(): +    return int(stdin.readline()) + + +def nf(): +    return float(stdin.readline()) + + +n, x = li() +m = [] +for _ in range(n): +    m.append(ni()) +msum = sum(m) +mmin = min(m) +print((n + (x - msum) // mmin))