use whiteread::parse_line;

fn main() {
    let (_n, x): (usize, u32) = parse_line().unwrap();
    let mut a: Vec<u32> = parse_line().unwrap();
    let ans: usize;

    if a.iter().sum::<u32>() == x {
        ans = a.len();
    } else {
        a.sort();
        loop {
            a.pop();
            if a.iter().sum::<u32>() <= x {
                ans = a.len();
                break;
            }
        }
    }
    println!("{}", ans);
}
