fn main() { let l: u32 = read(); let n: u32 = read(); let mut w: Vec<u32> = read_vec(); w.sort(); let mut count = 0; let mut sum = 0; for e in w { sum += e; if l < sum { break; } count += 1; } println!("{}", count); } fn read<T: std::str::FromStr>() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn read_vec<T: std::str::FromStr>() -> Vec<T> { read::<String>().split_whitespace() .map(|e| e.parse().ok().unwrap()).collect() }