#NとXの読み込み

n, x = input().split()

n = int(n)

x = int (x)

m = []

i_min = 0 

result = 0



#m1からmnまでの読み込み

for i in range(n):

 m.append(int(eval(input())))

#全種類ひとつずつ作る

for i in range(len(m)):

 x = x - m[i]

 result = result + 1

#リストの中の最小値を突き止める

for i in range(len(m)):

 if m[i_min] > m[i]:

   i_min = i

#i_minを作れるだけ作る

for i in range(x):

 if x >= m[i_min]:

  result = result + 1

  x = x - m[i_min]

 else:

  break

#印刷

print(result)

#データの読み込み

n, x = input().split()

n = int(n)

x = int(x)

m = []

i_min = 0

gokei = 0

#n個の入力に対するループ

for i in range(n):

  #問題からの入力をintに変換してリストへ格納

  m.append(int(eval(input())))

  #全部を1つずつ作った場合の粉量の合計

  gokei = gokei + m[i]

  #使う粉量が一番少ないドーナツを見つける

  if m[i_min] > m[i]:

    i_min = i

#全部を1つずつ作った後に残る粉量

x = x - gokei

print((int(x/m[i_min]) + n))
# NとXの読み込み
n, x = input().split()
n = int(n)
x = int(x)
m = []
i_min = 0
result = 0
# m1からmnまでの読み込み
for i in range(n):
    m.append(int(eval(input())))
# 全種類ひとつずつ作る
for i in range(len(m)):
    x = x - m[i]
    result = result + 1
# リストの中の最小値を突き止める
for i in range(len(m)):
    if m[i_min] > m[i]:
        i_min = i
# i_minを作れるだけ作る
for i in range(x):
    if x >= m[i_min]:
        result = result + 1
        x = x - m[i_min]
    else:
        break
# 印刷
print(result)

# データの読み込み
n, x = input().split()
n = int(n)
x = int(x)
m = []
i_min = 0
gokei = 0
# n個の入力に対するループ
for i in range(n):
    # 問題からの入力をintに変換してリストへ格納
    m.append(int(eval(input())))
    # 全部を1つずつ作った場合の粉量の合計
    gokei = gokei + m[i]
    # 使う粉量が一番少ないドーナツを見つける
    if m[i_min] > m[i]:
        i_min = i
# 全部を1つずつ作った後に残る粉量
x = x - gokei
print((int(x / m[i_min]) + n))

-# NとXの読み込み +# データの読み込み -result = 0 -# m1からmnまでの読み込み +gokei = 0 +# n個の入力に対するループ +    # 問題からの入力をintに変換してリストへ格納 -# 全種類ひとつずつ作る -for i in range(len(m)): -    x = x - m[i] -    result = result + 1 -# リストの中の最小値を突き止める -for i in range(len(m)): +    # 全部を1つずつ作った場合の粉量の合計 +    gokei = gokei + m[i] +    # 使う粉量が一番少ないドーナツを見つける -# i_minを作れるだけ作る -for i in range(x): -    if x >= m[i_min]: -        result = result + 1 -        x = x - m[i_min] -    else: -        break -# 印刷 -print(result) +# 全部を1つずつ作った後に残る粉量 +x = x - gokei +print((int(x / m[i_min]) + n))