import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.stream.Stream; class Main { public static void main(String[] args) { no5(); } // No.5 数字のブロック private static void no5() { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); // 箱の幅 int l; // ブロックの数 int n; // 各ブロックの幅 String block; try { l = reader.read(); n = reader.read(); block = reader.readLine(); } catch (IOException e) { throw new RuntimeException(e); } int[] numbers = Stream.of(block.split(" ")).mapToInt(Integer::parseInt).sorted().toArray(); for (int i : numbers) { int max = 0; if (i < l) { l -= i; max++; } else { System.out.println(max); break; } ; } } }