N, S = map(int, input().split()) A = sorted(list(map(int, input().split())), reverse = True) def check(X): i, T = 0, 1 while i < N and A[i] > X: T += A[i] i += X return T <= S ng, ok = 0, 10 ** 10 while ok - ng > 1: mid = (ok + ng) // 2 ok, ng = (mid, ng) if check(mid) else (ok, mid) print(ok)