#include<iostream>
#include<stdio.h>

using namespace std;
int m, n, t[101];

int cnt(int w){
    int v=0, ret=1;
    for(int i=0; i<n; i++){
        if(t[i]>w) return 1500001;
        if(v+t[i]>w){
            v=0;
            ret++;
        }
        v+=t[i];
    }
    return ret;
}

int main(){

    while(1){
        cin>> m>> n;
        if(m==0&&n==0) break;
        for(int i=0; i<n; i++){
            scanf("%d", &t[i]);
        }

        int l=1, r=1500000;
        while(r-l>1){
            int md=(l+r)/2;
            if(cnt(md)>m){// exceeded
                l=md;
            }else{
                r=md;
            }
        }
        cout<< r<< endl;
    }

    return 0;
}