def read_data(): N, M = map(int, input().split()) Cs = list(map(int, input().split())) return N, M, Cs def solve(N, M, Cs): Cs.sort() Cs.append(float('inf')) n = 0 while M >= Cs[n]: M -= Cs[n] n += 1 return n N, M, Cs = read_data() print(solve(N, M, Cs))