print((function (fh) local a,l,r,t = {},fh(),0,0 for i=1,fh() do a[i]=fh() end table.sort(a) for i=1,#a do if t+a[i]>l then break end r,t=i,t+a[i] end return r end)((function (M) M.cdef 'int scanf(const char *, ...);' local C,c = M.C,M.new("int[1]") return function () C.scanf("%d",c) return c[0] end end)(require'ffi')))