use std::io::{self, BufRead}; fn main() { let input = io::stdin() .lock() .lines() .map(|l| { l.unwrap() .split_whitespace() .map(|n| n.parse::().unwrap()) .collect::>() }) .collect::>(); let m = input[0][1]; let mut cc = input[1].clone(); cc.sort_unstable(); let cumsum = cc .iter() .scan(0, |sum, &c| { *sum += c; Some(*sum) }) .collect::>(); println!("{}", cumsum.iter().position(|&n| n > m).unwrap_or(cc.len())); }