use std::io::{Read, stdout, BufWriter, Write}; fn main() { let width: u32 = read(); let _max: u32 = read(); let mut remain: u32 = width; let mut count: u32 = 0; let mut boxes : Vec = read_vec(); boxes.sort(); for i in boxes { if remain < i { break } remain -= i; count += 1 } let out = stdout(); let mut out = BufWriter::new(out.lock()); writeln!(out, "{}", count).unwrap(); } fn read() -> T { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().parse().ok().unwrap() } fn read_vec() -> Vec { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim().split_whitespace().map(|e| e.parse().ok().unwrap() ).collect() } fn read_vec2(n: u32) -> Vec> { (0..n).map(|_| read_vec()).collect() }