package main import ( "bufio" "fmt" "os" "sort" "strconv" "strings" ) func nextInt(sc *bufio.Scanner) int { sc.Scan() i, e := strconv.Atoi(sc.Text()) if e != nil { panic(e) } return i } func nextIntList(sc *bufio.Scanner) []int { sc.Scan() input := strings.Split(sc.Text(), " ") result := make([]int, len(input)) for i, v := range input { if j, e := strconv.Atoi(v); e != nil { panic(e) } else { result[i] = j } } return result } func main() { sc := bufio.NewScanner(os.Stdin) l := nextInt(sc) nextInt(sc) wList := nextIntList(sc) sort.Ints(wList) for i, v := range wList { l -= v if l < 0 { fmt.Println(i) break } } }