import java.util.*; // 幅Lの箱の中に、高さ1で幅は𝑊𝑖のブロックが最大何個はいるのかを求めるプログラム。 class NumBlocks { public static void main(String[] args) { // データ用意部分 Scanner sc = new Scanner(System.in); int l = sc.nextInt(); int n = sc.nextInt(); int[] intWi = new int[n]; for (int i = 0; i < n; i++) { intWi[i] = sc.nextInt(); } // ブロック(intWi)を幅が小さい順に並べる Arrays.sort(intWi); // 小さい順に箱に詰めていき、幅Lをギリギリこえない個数を求める int temp = 0; for (int i = 0; i < n; i++) { temp += intWi[i]; if (l < temp) { System.out.println(i); return; } else if (l == temp) { System.out.println(i+1); return; } } } }