## 의사코드 ##
# 동전 개수를 최소로 -> 가장 큰 가치를 가진 동전부터 차감
# 동전의 가치를 큰 값부터 내림차순 정렬
# coins.sort(reverse=True)
# cnt = 0 # 동전의 개수
# for c in coins:
# # 동전의 가치가 k보다 큰 경우, 그냥 통과
# if c > k:
# continue
# else:
# # 동전의 개수 + k를 동전으로 나눈 몫
# cnt += k // c
# # 남은 k = k를 동전으로 나눈 나머지
# k %= c
통과한 코드
n, k = map(int, input().split())
coins = [] # 동전의 가치를 담을 리스트
for _ in range(n):
coin = int(input())
coins.append(coin)
# 동전의 가치를 큰 값부터 내림차순 정렬
coins.sort(reverse=True)
# 동전의 개수
cnt = 0
for c in coins:
# 동전의 가치가 k보다 큰 경우, 그냥 통과
if c > k:
continue
else:
# 동전의 개수 + k를 동전으로 나눈 몫
cnt += k // c
# 남은 k = k를 동전으로 나눈 나머지
k %= c
print(cnt)