import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class Main05 { public static void main(String[] args) { InputStream is = System.in; InputStreamReader r = new InputStreamReader(is); BufferedReader br = new BufferedReader(r); try { final int hako = Integer.valueOf(br.readLine()); String blockCount = br.readLine(); String[] blockWidths = br.readLine().split(" "); int size = 0; int maxWidht = 0; int count = 0; for (String widthStr : blockWidths) { int w = Integer.valueOf(widthStr); // そのまま入る? if (size + w <= hako) { // 入る。 size += w; count++; maxWidht = (w < maxWidht) ? maxWidht : w; } else { // 入らない // 入っている中の最大よりも小さい? if (w <= maxWidht) { // 小さい。ので入れ替えする。 size = size - maxWidht + w; } else { // 小さくない。 // なにもしない。 } } } System.out.println(count); } catch (Exception e) { e.printStackTrace(); } } }