n, x = list(map(int, input().split()))

M = [int(eval(input())) for i in range(n)]



rest_powder = x - sum(M)



max_make = 0

min_powder = min(M)

while True:

    if max_make*min_powder < rest_powder:

        max_make += 1

    elif max_make*min_powder == rest_powder:

        break

    else:

        max_make -= 1

        break



print((n + max_make))
n, x = list(map(int, input().split()))

M = [int(eval(input())) for i in range(n)]



rest_powder = x - sum(M)

min_powder = min(M)



print((n + rest_powder//min_powder))
n, x = list(map(int, input().split()))
M = [int(eval(input())) for i in range(n)]
rest_powder = x - sum(M)
max_make = 0
min_powder = min(M)
while True:
    if max_make * min_powder < rest_powder:
        max_make += 1
    elif max_make * min_powder == rest_powder:
        break
    else:
        max_make -= 1
        break
print((n + max_make))

n, x = list(map(int, input().split()))
M = [int(eval(input())) for i in range(n)]
rest_powder = x - sum(M)
min_powder = min(M)
print((n + rest_powder // min_powder))

-max_make = 0 -while True: -    if max_make * min_powder < rest_powder: -        max_make += 1 -    elif max_make * min_powder == rest_powder: -        break -    else: -        max_make -= 1 -        break -print((n + max_make)) +print((n + rest_powder // min_powder))